BC Courts Online Booking System (COBS)
This application allows legal professionals and self-represented litigants to schedule court proceedings online without waiting in phone queues.
For the BC Supreme Court, users can book trials, chambers hearings, and various conference types through immediate bookings (available time slots) or lottery-based requests (high-demand proceedings).
For the BC Court of Appeal, users can book appeal hearings and chambers hearings for both civil and criminal cases.
The application uses ASP.NET Core MVC with server-rendered Razor views enhanced with jQuery, plus Vue.js components for interactive elements. The system integrates with BC's court systems through a unified SOAP web service gateway: CEIS for case validation, SCSS for Supreme Court scheduling, and WebCATS for Court of Appeal scheduling. A separate console application (taskrunner) processes lottery requests via this same web service API. The system uses Keycloak for authentication, PostgreSQL for data storage, Office 365 for email notifications, and deploys on OpenShift.
(assuming you have an ARM macbook)
- Install the .NET 8 SDK Installer for ARM
- Install C# extension for Visual Studio Code
- Install C# Dev Kit for Visual Studio Code
- Install csharpier https://csharpier.com/
- Install CSharpier plugin for VS Code
https://github.com/bcgov/SCJ-Online-Booking
check out the develop branch
cp .env.example .env
Get the KEYCLOAK_CLIENT_SECRET from someone else on the team or from the Keycloak client/realm.
For SENDGRID_FROM_EMAIL and SENDGRID_API_KEY, you can either create your own Sendgrid account or get someone else's credentials.
make sure dotnet run works from the /app folder
you should be able to connect on https://localhost:5002/
Make sure you are using Node 20 by running node -v
cd app
npm install
npm run build or npm run watch
cd tests
dotnet test --logger "console;verbosity=detailed"
/tests/bin/Debug/net8.0/scj-booking.sqlite will be generated. You can use https://sqlitestudio.pl/ to inspect this file and look at test results.
Choose "Start Debugging" from the Run menu in VS Code.
You should be able to connect on https://localhost:5002/
You will need to register for a BCeID account on the BCeID dev environment. https://www.development.bceid.ca/register/
- Vancouver / E (Family Law) / 23222
- Kelowna / (leave the class blank) / 111
- CA39029 - Civil Case
- CA42024 - Criminal case
- CA39000 - Civil case with a child case number
- CA39001 - Civil case with a parent case number
- CA39002 - Civil case with a parent case number
Copyright 2019-2025 British Columbia Superior Courts
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.