Design Decisions
Why B2B Collection uses b2b-logistics trips and how they differ from other trip types
Design decisions
B2B Collection vs. other trip flows
B2B Collection is the product for organization-site sample collection logistics—planned stops, routes, and trips for B2B clients.
The same trip-management engine in crelio-app also powers other flows (for example phlebotomist trips that may be tied to a patient visit record). Those are different products; this doc only describes trip_type = B2B / b2b-logistics.
B2B logistics trips (B2BTrip)
B2B logistics trips are Trip rows with trip_type = B2B_TRIP. The B2BTrip proxy manager targets trips used for multi-stop organization routes. Naming in URLs or legacy code may differ; this doc sticks to b2b-logistics and B2BTrip only.
Keeping B2B logistics trips on dedicated b2b-logistics URLs lets web and mobile use separate serializers, auth (e.g. b2b_logistics JWT context), and lifecycle rules from phlebotomist flows.
b2b-logistics in the URL
The frontend passes b2b-logistics as trip_type so Django routes to the correct handlers under:
api-v3/trip-management/b2b-logistics/…
alongside other trip_type values for unrelated trip products.
livehealthapp
Legacy livehealthapp UIs (e.g. organization finance) are not the home for B2B Collection logistics; that lives in livehealth-frontend under Registration → B2B Collection.