Build your own Booking Portal & Shopping Basket
Support with building your own Booking Portal or Shopping Basket
- 1 Is a custom booking portal for you?
- 1.1 How it works
- 2 See it in action: our proof of concept (PoC)
- 2.1 Course search
- 2.2 My Courses
- 2.3 My eLearning
- 2.4 My Bookings
- 2.5 Shopping Basket
- 2.6 My Account
- 2.7 My Invoices
- 3 Everything you need to get building
- 4 Top tips & recommendations
- 4.1 Accessibility
- 4.2 Authentication
- 4.3 Performance & caching
- 5 FAQs
- 6 Support
Downloadable resources
Related Help Guide Pages
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!
accessplanit’s standard Checkout Basket works brilliantly for most training companies, but some need more! If your website has its own look and feel, your customers expect a specific journey, or you use a payment provider we don't support out of the box, you don't have to compromise. With API v2 Feeds, you can build a fully bespoke booking portal and basket that lives inside your website, while accessplanit stays your single source of truth for Course, Booking, and Delegate data behind the scenes.
If you’ve purchased accessplanit’s API v2 Feeds, you already have everything you need to build your own fully branded booking portal and shopping basket, no additional licences or modules required!
Is a custom booking portal for you?
This approach is worth exploring if you need:
A fully branded booking portal that matches your website exactly
A bespoke booking journey or shopping basket built around your customers
Connect a payment gateway accessplanit doesn't support natively
Custom learner portal features
Support for Google or Microsoft SSO logins
Complete control of the user interface and user experience
To add functionality beyond what standard Checkout offers
If any of these resonate with you, keep reading! This page explains how to use the API Feeds to design your very own booking portal and/or shopping basket.
How it works
You already have the data feeds
API v2 Feeds give real-time access to Courses, Bookings, Invoices, Discounts, and Delegate detailsYour developers build the front end
They design the pages, user journeys, and incorporate your design choices and branding, while accessplanit handles the data underneathYou launch on your own terms
Your own domain, your own payment gateway, your own customer experience, with accessplanit still running the show behind the scenes
To make that first step easier, we've built a full proof of concept (PoC) so your team isn't starting from a blank page.
See it in action: our proof of concept (PoC)
In this section we tour though the areas developed within the proof of concept
We've built a working example that demonstrates every core piece of a custom booking portal, made entirely from API Feeds, no extra licences, modules, or platform components. Each area below includes a short video tour so you can see the experience for yourself and pick up a few best-practice pointers along the way!
Remember!
With your own portal, you control the layout, colours, and journey - this PoC simply shows you what's possible.
Course search
A real-time, filterable course catalogue.
Search by Course label and delivery method (class, web, eLearning, etc.)
Results show the course name, delivery method, and a ‘Show Dates’ button
A dates table with start/end dates, duration, status, cost, venue, and available places
A Book button that adds the course straight to the basket
My Courses
A dedicated home for a learner's upcoming and past training.
My Courses: everything a user is registered on
My Web Courses: course objectives and joining links
My eLearning Courses: status tracking and package launch
My eLearning
Learners launch assigned eLearning straight from the portal, with status visible and a one-click ‘Launch’ button for the SCORM package.
My Bookings
A clear view of everything a learner has booked, including status, dates, and references - with ‘View Booking’ and ‘View Invoice’ pop-ups for more detail.
Shopping Basket
A full, flexible booking journey:
‘Book’ adds a course from search straight into the basket
Assign Delegates to places (or leave a Placeholder), the available Delegates are automatically filtered by the logged-in user's access level, for security
Apply accessplanit discount codes
Checkout creates the booking and registers Delegates/Placeholders onto the course
Please note
The PoC doesn't include a payment gateway, that choice is entirely yours.
My Account
Learners manage their own details:
Edit personal and contact information
Change password
Set marketing opt-in preference
My Invoices
A list of invoices targeted to the logged-in user
A ‘View Invoice’ pop-up with full item-level detail
Please note
The PoC doesn't include a 'make payment' option against invoices, you could incorporate that into your design!
Everything you need to get building
In this section you will get access to the resources and information to help you build your own portal or basket
Super Admin - Plan your custom booking portal workbook
Define your requirements before development starts, this guide will reduce rework and keep your project team aligned on the experience you want:
GitHub Repo
The actual code behind our proof of concept:
API v2 support resources
Get oriented with the feeds:
Integrate with the accessplanit API v2 Feeds - Overview
Full technical reference for your developers:
Top tips & recommendations
In this section we outline our top tips for your portal and basket!
Building your own portal gives you full control! These recommendations, 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 full keyboard navigation
Use descriptive aria-labels (e.g. "Add to Basket", "Launch eLearning")
Meet WCAG AA colour contrast across menus, buttons, and alerts
Write meaningful error messages ("Please enter a Delegate email", not "Invalid input")
Never rely on colour alone to show availability or status
Correctly associate form labels with inputs
Make sure eLearning launch and other embedded content works with screen readers and assistive input
Authentication
Your custom portal must authenticate users using accessplanit’s existing login process. The proof of concept demonstrates how to handle this securely.
Authenticate through accessplanit's existing login - don't replicate or replace it
Store and pass the returned session token securely with every API request
Never store passwords or handle credential verification yourself
Use secure session timeouts and prompt re-login when a token expires
Always use HTTPS; never log tokens in browser consoles or server logs
Encourage logout 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 anything that rarely changes (course categories, locations, configuration lists)
Use short-lived client-side caching for search filters and course info
Lazy-load booking history and large course lists rather than rendering everything at once
Show loading states so users know data is on its way
Prefer manual "Refresh" buttons over 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://www.accessplanit.com/tickets-view