Chorus Application Training Documentation
1. Application Overview - Session I:
Chapter 1: System Origin and Purpose
Timeline: 11:00–23:00
Mike explains the application’s origin as a crude trucking system, its evolution through customer partnerships, and its transition to a broader energy trucking platform. Core workflow: order creation → driver dispatch → mobile execution → ticketing → invoicing.
Origin as a Crude Trucking System
The software was initially designed about a decade ago to serve as a dedicated system for crude oil transportation by truck.
The first version was developed closely with a single client (Genesis), who provided direct feedback and requirements, making the system highly tailored to real-world processes of crude hauling—replacing outdated, legacy systems that were cumbersome and not user-friendly.
The primary purpose was to manage orders, dispatch those to truck drivers using a mobile app, capture field tickets for loads handled, and streamline transition from field operations to back-office invoicing.
Evolution Through Customer Partnerships
As the system matured with Genesis, more clients in the energy sector became interested, resulting in enhancements and new features tailor-made for each.
A significant development milestone was collaboration with Enterprise Products, which expanded the system’s applicability beyond crude oil to cover other energy commodities such as Natural Gas Liquids (NGLs).
With input from new customers, the platform added generic features allowing it to serve a wider range of trucking needs—becoming flexible enough for various types of energy commodity transportation, not just crude.
Transition to a Broader Energy Trucking Platform
The platform shifted focus from being a specialized crude-hauling tool to a generic, configurable solution suitable for any energy (oil, NGL, etc.) transportation requirements.
Legacy customers still used older versions, but most transitioned to the cloud-based, modern interface with integrated support for a variety of business scenarios.
Core Workflow in the Platform
The typical lifecycle in the system follows this order:
Order Creation: Dispatchers or operations teams create new haulage or load orders in the web interface.
Driver Dispatch: These orders are assigned to drivers, who see the jobs in their mobile app.
Mobile Execution: Drivers use the mobile app in the field to view details, update job progress, and record essential data (such as load quantities, location, status).
Ticketing: When the job is complete, an electronic or printed ticket is generated (acting as the official record for the haul or delivery).
Invoicing: The system processes completed tickets, calculates all charges (freight, surcharges, wait times, etc.), and automatically generates invoices for the customer, streamlining the back-office workflow and reducing manual effort.
This evolution enabled what started as a basic solution for a single client’s trucks to become a powerful, multi-client, multi-commodity energy logistics platform, driving efficiency from dispatch to final billing.
Chapter 2: User Roles and Administration
Timeline: 23:00–36:00
Detailed walkthrough of the user admin screen:
Setting up roles, privileges, and managing users.
Importance of assigning correct email/IDs and resolving common problems in the user management process.
Discussion of the roles matrix and CRUD permissions mapping.
The user admin screen in the Chorus application focuses on setting up roles, privileges, and managing users effectively:
Setting up Roles and Privileges:
The user admin screen is primarily used during implementation to define and manage system roles. Each role in Chorus has specific privileges controlling user access and actions across application screens. These privileges include Create, Read, Update, and Delete (CRUD) permissions for various modules. For example, the "commodity admin" role may have access to all system screens with full CRUD rights. This setup ensures users see and can interact only with parts of the application relevant to their responsibilities.Managing Users:
Users are created by entering basic information such as first name, last name, and email ID. The email acts as the login identifier and must be unique and follow the email format, though it need not be a working email address. Assigning the correct role during user creation is crucial because roles determine access privileges. Users can optionally be flagged as drivers, giving them mobile app access for order execution, distinct from browser-only users.Importance of Correct Email/IDs and Common Issues:
Since the email ID cannot be changed after user creation, errors in this field require deleting and recreating the user, which can be cumbersome. Common problems like forgetting to change the associated employer or role during user creation can cause access issues. Proper attention to employer assignment and role selection resolves many access or permission-related problems.Roles Matrix and CRUD Permissions Mapping:
The system provides a detailed role matrix where administrators toggle specific permissions (Create, Read, Update, Delete) for each system screen or function. This matrix allows precise control over what actions each role can perform and what data they can see. The roles and permissions together enforce security and workflow governance across the application.
Chapter 3: Drivers & Scheduling
Timeline: 36:00–48:00
Covers difference between web users and mobile app-only drivers.
Demonstrates creation and management of drivers, flags, and assignment of roles.
Driver schedules: flexible templates support variable shifts, mass scheduling, color coding indicates schedule/data status, and issues relating to soft deletion/inactive states.
The key difference between Chorus application web users and mobile app-only drivers lies in their access and functionality:
Web Users are typically internal users who access the full Chorus application through a web browser. They have broad permissions depending on their roles and can manage orders, user administration, scheduling, and other back-office functions.
Mobile App-Only Drivers access the system strictly through the mobile app for operational tasks like receiving dispatch orders, executing loads, and updating statuses. They do not have access to the full web interface, keeping their focus on essential mobile workflows.
Regarding creation and management of drivers in Chorus:
Drivers are created and maintained in the user management system, where each driver can be flagged as a mobile app user (driver flag).
Assigning roles to drivers defines their access level—standard web user, driver with mobile app access, or both.
Flags distinguish "drivers" from other users, ensuring only drivers appear in dispatch picklists on the app.
Driver schedules are handled with flexible scheduling templates that support various shift patterns (e.g., 5 days on, 2 days off; custom shifts). These templates allow:
Mass scheduling for groups of drivers.
Color coding of schedule grids (e.g., blue for assigned data, red for missing data).
Ability to define complex rotating shifts tailored per driver.
The system employs soft deletion (inactivation) rather than hard deletes, meaning drivers or schedules marked inactive can be restored, preserving historical data for reference.
This structure ensures efficient operational management through the mobile app for drivers while providing rich, role-based administration for web users in Chorus.
Chapter 4: Districts & Data Filtering
Timeline: 48:00–56:00
Sets the context for filtering by district (region/asset), which persists across screens and directly impacts visibility of trucks, drivers, locations, equipment, and workflow context for users.
The "district filtering" feature is designed to set the operational context based on a specific geographic or asset-based district. This filter applies across the entire application session and influences what data the user sees on every screen.
When the user selects a district (which could be a region like South Texas, Colorado, or a particular operational asset), that choice "filters" the information that is shown to you.
This affects the visibility of trucks, drivers, locations, and equipment relevant only to that district.
For example, if the user is stationed in the Colorado district context, - The user will only see trucks and drivers assigned to Colorado, ensuring you are not overwhelmed with irrelevant data from other regions.
This filtering persists as you move between different parts of the application, maintaining your selected district context so you don’t have to reapply the filter on every screen.
This improves workflow efficiency by focusing your data views and operational decisions to only what matters in your assigned district.
Overall, district filtering helps keep the system organized, reduces user errors in assignment or logistics, and aligns operational data quickly based on user location or area responsibility. This is especially important in a trucking/logistics system managing vast fleets and multiple geographical zones.
This feature optimizes user experience by narrowing down the task-relevant data across the system, consistently respecting the chosen district filter until changed or the session ends.
Chapter 5: Trucks & Trailers Setup
Timeline: 56:00–66:00
Procedures for adding trucks/trailers, the impact of district and transporter assignment, asset filtering, truck/trailer attributes, VIN decoding, and importance of asset data in operational workflows.
The feature for adding trucks and trailers is essential for managing the physical assets used in the trucking operations.
Procedures for Adding Trucks and Trailers
Trucks and trailers are added in the system through dedicated forms where key details must be entered.
Required information includes identifiers like truck or trailer number, make, model, and attributes such as fuel type.
For trucks, a vehicle identification number (VIN) can be entered, and the system includes a VIN decoder API that automatically extracts details like make, model, and year to ensure accurate data.
Trailers are tracked closely because they hold the product being transported. Capacity and tare weight are especially important for calculating loads accurately.
Impact of District and Transporter Assignment
Each truck and trailer is associated with a particular district, which acts as a geographic or operational area filter.
This district assignment limits visibility so drivers and users see only the assets relevant to their working district.
Similarly, trucks and trailers are linked to transporters (carriers). Only entities registered as transporters can have trucks or trailers assigned, confining asset ownership and responsibility clearly.
Asset Filtering
The system lets users filter trucks and trailers by district, transporter, and other criteria.
This filtering helps streamline operations and avoid confusion, for example preventing a driver in one district from selecting or dispatching trucks or trailers from another district.
Truck/Trailer Attributes and Importance
Attributes like type (bobtail, tanker, etc.), make/model, fuel type, and certifications contribute to compliance and operational planning.
Accurate asset data assists in generating load tickets, tracking product volumes via compartmentalization of trailers, and supporting invoicing workflows.
VIN Decoding and Automation
When a VIN is provided, the system automatically decodes it to fill in truck details, reducing manual errors and improving data accuracy.
This feature also assists with compliance reporting and asset tracking over time.
Overall Importance in Operational Workflows
Trucks and trailers are integral assets within the system, as all orders and tickets reference these assets.
Knowing which truck and trailer a driver uses for a particular order provides traceability.
Proper management of assets ensures load capacities are respected, scheduling and dispatching are accurate, and compliance requirements are met, which in turn supports billing and reporting processes smoothly.
The above explanation provides a clear understanding of how trucks and trailers are managed, why district and transporter assignments matter, and how asset data plays a critical role in the operational efficiency and compliance of the Chorus trucking system.
Chapter 6: Trailer Compartments & Load Tickets
Timeline: 66:00–72:00
Explains trailer compartmentalization, the UI for defining capacities, how different loads (e.g. fuel types) are tracked, and ticket generation reflecting product compartment details.
Trailer Compartmentalization Explanation
Trailers are usually used for hauling products (such as fuels or other liquids) can be divided into multiple compartments. This compartmentalization is important because a single trailer may carry different products simultaneously, like unleaded gasoline, diesel, and super unleaded fuel, all separated into individual compartments.
Capacity Definition in UI:
The user interface allows you to define how many compartments a trailer has and specify the capacity of each compartment. This information is essential for accurate tracking, as it ensures the system knows exactly how much product is carried in each compartment.
Tracking Different Loads:
Since different compartments can hold different fuel types or products, the system tracks these individually. This lets dispatchers, drivers, and administrators know which compartment holds which product and how much volume is in each.
Ticket Generation:
When a driver loads a trailer, the Chorus system generates a load ticket. This ticket details the volume of each product loaded into the specific compartments of the trailer. Likewise, during unloading, the ticket indicates which compartments the products were taken from. This compartment-specific ticketing ensures precise tracking of product movement for invoicing, inventory, and operational accuracy.
This compartmentalization feature not only supports regulatory and operational requirements but also enhances transparency and control over the logistic flow of various petroleum or chemical products within a single trailer.
Step-by-step Operational Guidance for Trailer Compartmentalization in Chorus:
Access Trailer Management Screen
Navigate to the "Assets" or "Trucks and Trailers" section from the main menu.
Select the trailer you want to configure or add a new trailer.
Define Trailer Compartments
In the trailer details screen, locate the compartments or load section.
Add compartments based on the physical divisions in the trailer (e.g., Compartment 1, Compartment 2, etc.).
For each compartment, enter its capacity in gallons or liters based on the unit system.
Assign Product Types to Compartments
Assign the corresponding product type (e.g., Diesel, Unleaded Gasoline) to each compartment if possible.
This step is optional but recommended for clear tracking.
Save Trailer Configuration
After entering compartments and capacities, save the trailer profile.
The system now recognizes the trailer’s compartmentalization and respective capacities.
Create or Edit Load Tickets
When generating a load ticket, the interface will display compartments linked to the trailer.
Enter the quantity of each product loaded into the corresponding compartments.
Confirm the load details and submit the ticket.
Track and Review Load Tickets
Tickets will reflect product volumes per compartment, allowing accurate inventory and billing.
Users can review these tickets anytime in the ticketing or dispatch modules.
Chapter 7: Certifications & Compliance
Timeline: 72:00–82:00
Describes certification management for trucks, trailers, and drivers (CDLs, DOT inspections, registrations, etc.), automated inactivation for expired/required items, and notification subscription features for renewals and compliance tracking.
The application handles certification management for trucks, trailers, and drivers in an integrated and automated way, designed to help users maintain compliance effortlessly.
Certification Management Overview:
The system tracks essential certifications like Commercial Driver's Licenses (CDLs), DOT inspections, registrations, and other required documents for trucks, trailers, and drivers.
Each certification includes details such as expiration dates.
Users can attach certifications to the related asset (truck, trailer, or driver profile).
Automated Inactivation:
When certifications are marked as "required" by the administrator, the system runs a nightly automated check.
If a certification is missing or expired for an asset marked as required, that asset is automatically put "out of service" or inactive.
For drivers, this means they will be blocked from logging into the mobile app (preventing unlicensed driving).
This feature enforces compliance and safety by restricting use of assets without valid certifications.
Notification Subscription Features:
Users can subscribe to real-time email or text notifications for certifications that are approaching expiration (e.g., 30, 60, or 90 days before expiry).
These notifications serve as reminders for timely renewal.
The system tracks who is subscribed to which notifications, ensuring that responsible personnel are alerted to upcoming compliance tasks.
Importance of Certifications & Compliance:
Keeps track of all legal and safety-related certifications in one centralized system.
Minimizes manual tracking by automating expiry checks and carrying out enforced actions.
Ensures operational safety by preventing usage of uncertified trucks, trailers, or drivers.
Helps avoid regulatory penalties and operational disruptions by providing timely renewal reminders.
Chapter 8: Event Logging & Subscriptions
Timeline: 82:00–90:00
Overview of subscription/notification module for certifications, event logging processes (tracking edits/logins/ticket actions), and customization for client reporting and compliance workflows.
The application includes a robust subscription and notification module designed for managing certifications and ensuring compliance. Users can subscribe to alerts for certifications related to trucks, trailers, and drivers, like CDL renewals, DOT inspections, and registrations. These subscriptions notify users via email and text messages ahead of certification expirations, helping prevent compliance lapses and operational downtime by ensuring timely renewals.
Event logging is another critical feature that tracks detailed user activities within the system, such as edits to records, logins, and ticket actions. This logging creates an audit trail for accountability and troubleshooting, showing who did what and when. It helps administrators monitor user behavior, detect unauthorized actions, and maintain data integrity.
Furthermore, the system supports customization for client-specific reporting and compliance workflows. Businesses can tailor which events trigger notifications, specify the recipients, and generate reports aligned with their operational and regulatory needs. This flexibility allows clients to integrate the Chorus application into their compliance management practices efficiently, ensuring regulatory adherence and smoother operational control.
In summary, this feature ensures proactive compliance management through automated notifications, detailed event tracking for accountability, and tailor-made reporting to meet diverse organizational requirements—all designed to reduce manual oversight and enhance user confidence in managing certifications and system use.
2. Application Overview - Session II:
Chapter 1: Introduction to Order Creation (0:00 - 5:00)
Introduction to order creation process and related data.
Importance of location data for orders (pick up and delivery sites).
Chapter 2: Locations and Setup Data (5:00 - 20:00)
Explanation of location types: wells/leases, racks, terminals.
Database tables: property locations vs destinations.
Detailed location data fields including latitude/longitude and ticket types (crude oil meter, gauge, water, etc.).
Impact of location ticket types on mobile driver app behavior.
Chapter 3: Operators, Tanks, and Counterparties (20:00 - 35:00)
Association of tanks and operators to locations.
Different operators for commodities at locations.
Setup of counterparties: operators, purchasers, transporters, customers.
Counterparty roles and their linkage with locations.
Chapter 4: Order Creation and Workflow Basics (35:00 - 60:00)
Methods to create orders: manual entry, SCADA systems, file import.
Open orders and open order details explained.
Load (supply) and unload (demand) locations in order details.
Filtering, default values (first purchaser), and transporter/driver assignment.
Email sending of orders to transporters and reassignment/unassignment of orders.
Use of effective date to control order activation.
Transition from open orders to active orders assigned to drivers.
Chapter 5: Active Orders and Driver Control (60:00 - 80:00)
Status colors and their meaning (accepted, assigned, picked up, delivered).
Drivers control active orders via mobile app.
Editing orders during active status and communication requirements.
Order completion and ticket generation explained.
Load tickets details with driver inputs and automatic captures (temps, gravity, etc.).
Net volume calculations from tickets.
Chapter 6: Database Structures and Tickets (80:00 - 95:00)
Database tables: open orders/details, active orders/details, assignments, load/unload tickets.
Viewing and managing tickets independently.
Active orders lifecycle on driver device and transitioning to historical orders.
Chapter 7: Historical Orders and Workflow Approvals (95:00 - 110:00)
Historical orders repository for delivered/completed tickets.
Filters for internal vs third-party tickets.
Workflow for approval and unapproval of tickets.
Split order visual cues and tracking.
Chapter 8: Driver Assignment and Planning Board (110:00 - 130:00)
Bulk assignment of orders to drivers.
Driver Planning Board interface explanation with calendar view.
Drag-and-drop assignment of orders to drivers.
Visual route plotting supporting load/unload locations.
Future vision for AI optimized planning.
Chapter 9: Commodity Licensing and Configuration (130:00 - 145:00)
Enabling/disabling commodities based on customer license.
User environments and configuration capabilities.
Examples of configuration items (e.g., ticket acceptance rules, printing options).
Chapter 10: Accounting: Transport Paths, Rates, and Charges (145:00 - 180:00)
Explanation of transport paths (point A to B, mileage).
Contracted miles vs real miles (Google Miles, PC Miler).
Rate engine overview with multiple rate types (mileage, fuel surcharge, volumetric, wait time).
Pricing matrix concept based on volume and mileage.
Fixed path rate options and how rates apply to tickets.
Fuel surcharge indexing based on diesel fuel prices updated weekly via API.
Chapter 11: Rate Calculation and Debugging (180:00 - 200:00)
Rate generation triggered by ticket events.
Viewing rates associated with tickets.
Calculated charges output.
Filtering and detailed view of fuel surcharges and related indexes.