Overview
Trip management backend for B2B Collection — b2b-logistics in crelio-app
👤 Utsav Katiyar📅 Updated: Apr 7, 2026🏷️ feature
Backend overview
What this module does
| Concern | Backend location |
|---|---|
| Lab can use B2B Collection | admin.account.models.lab_features.LabFeatures.b2b_collection |
| Organization-site logistics (stops, routes, trips, trail) | admin.trip_management — api-v3/trip-management/<trip_type>/… with trip_type=b2b-logistics |
Trip types (same Trip table, different products)
admin.trip_management.models.core.trip.Trip uses TripTypeEnum:
| Value | Enum | Role |
|---|---|---|
| 1 | PHLEBOTOMIST_TRIP | Field trips that may populate the optional visit-link FK on Trip — not B2B Collection logistics |
| 2 | B2B_TRIP | B2B Collection logistics — B2BTrip proxy; used for organization route execution |
from_db casts rows to B2BTrip when trip_type is B2B.
URL mounting
admin.trip_management.urls.trip_management_url_patterns:
api-v3/trip-management/<str:trip_type>/…— webapi-v3/mobile/trip-management/<str:trip_type>/<str:user_type>/…— mobile
For B2B Collection, use trip_type=b2b-logistics.
Includes:
trips/— list, create (single + bulk schedule), update, status, trail, distance webhookroutes/— list, CRUD, disablelocation/— stop CRUDpickup-persons/— visiting persons / pickup partners (per visiting-person URL layout)
Auth
core.auth.jwt_token registers b2b_logistics for visiting-person JWT authentication on mobile pickup flows.
Key files
| Path | Role |
|---|---|
admin/trip_management/urls/__init__.py | Trip type–prefixed includes |
admin/trip_management/urls/trip_urls.py | Trips: list, detail, CRUD, trail |
admin/trip_management/urls/route_urls.py | Routes |
admin/trip_management/urls/location_urls.py | Locations (stops) |
admin/trip_management/models/core/trip.py | Trip, B2BTrip, distance webhook |