Service Order
v0.1.0A dealership repair order (RO) — the authoritative record of a service visit, from write-up through invoice and payment. Captures the vehicle, advisor, mileage, and a set of operation lines (labor, parts, sublet, fee) each with complaint/cause/correction (the 3 C's), pay type, and optional warranty claim data. Rolls up parts/labor/sublet/fees/discount/tax into totals, records payments, and carries declined recommendations for follow-up marketing. Modernizes DMS service-RO structures and the ADF/AutomotiveAPI <service> lineage into a typed JSON entity; links customer, vehicle, appointment, advisor, technicians, parts, and warranty claim by id rather than embedding them. May carry PII on the payer/customer via linked records and denormalized contact fields — handle under the spec's Auth & Security profile.
service.get_orderservice.create_orderservice.list_orders{
"id": "b3f0c2a1-8e4d-4a2b-9c1f-5d6e7a8b9c0d",
"source_ids": [
{
"system": "cdk-drive",
"id": "RO-0098421",
"sequence": 1
},
{
"system": "gm-globalconnect",
"id": "WC-77123",
"sequence": 2
}
],
"ro_number": "98421",
"ro_tag": "K-142",
"status": "paid",
"pay_type": "customer_pay",
"customer_id": "1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
"customer_name": {
"first": "Dana",
"last": "Whitfield"
},
"customer_phone": {
"number": "+1-402-555-0147"
},
"customer_email": {
"address": "dana.whitfield@example.com"
},
"vehicle_id": "9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d",
"vin": "1GNSKBKC5JR256789",
"license_plate": "NE-KHP482",
"appointment_id": "7f6e5d4c-3b2a-4918-8f7e-6d5c4b3a2918",
"service_type": "maintenance",
"priority": "waiter",
"mileage_in": 41230,
"mileage_out": 41232,
"odometer_unit": "mi",
"advisor_id": "2b1a0f9e-8d7c-4b6a-9584-73625140f3e2",
"advisor_name": {
"first": "Marcus",
"last": "Reyes"
},
"dispatcher_id": "3c2b1a0f-9e8d-4c7b-8a69-847362514f30",
"dealer_id": "0f1e2d3c-4b5a-4697-8879-2a1b0c9d8e7f",
"service_department": "Cobalt Chevrolet - Main Service",
"cost_center": "SVC-01",
"opened_at": "2026-06-28T08:15:00Z",
"promised_at": "2026-06-28T16:00:00Z",
"work_started_at": "2026-06-28T09:02:00Z",
"completed_at": "2026-06-28T14:42:00Z",
"closed_at": "2026-06-28T15:10:00Z",
"invoiced_at": "2026-06-28T15:05:00Z",
"customer_arrived_at": "2026-06-28T08:05:00Z",
"vehicle_delivered_at": "2026-06-28T15:20:00Z",
"customer_waiting": true,
"customer_concerns": "Requests scheduled oil change; also reports a grinding noise when braking at low speed.",
"transportation": {
"type": "waiter"
},
"currency": "USD",
"lines": [
{
"id": "aaaa1111-2222-4333-8444-555566667777",
"sequence": 1,
"type": "labor",
"op_code": "MAINT-LOF",
"op_code_type": "menu",
"description": "Lube, oil & filter - full synthetic",
"complaint": "Customer requests scheduled oil change",
"cause": "Maintenance interval reached (5,000 mi)",
"correction": "Drained oil, replaced filter, refilled 6 qt 0W-20 full synthetic, reset oil life monitor",
"status": "completed",
"hours": 0.5,
"actual_hours": 0.4,
"labor_rate": {
"amount": 165,
"currency": "USD"
},
"labor_type": "menu",
"amount": {
"amount": 82.5,
"currency": "USD"
},
"taxable": false,
"technician_id": "4d3c2b1a-0f9e-4d8c-b7a6-95847362514f",
"skill_level": "B",
"pay_type": "customer_pay"
},
{
"sequence": 2,
"type": "part",
"op_code": "MAINT-LOF",
"op_code_type": "menu",
"description": "Oil filter, ACDelco PF63",
"part_number": "PF63",
"part_id": "aa11bb22-cc33-4d44-8e55-ff66aa77bb88",
"quantity": 1,
"unit_price": {
"amount": 12.99,
"currency": "USD"
},
"unit_cost": {
"amount": 6.1,
"currency": "USD"
},
"amount": {
"amount": 12.99,
"currency": "USD"
},
"tax": {
"amount": 0.9,
"currency": "USD"
},
"taxable": true,
"pay_type": "customer_pay"
},
{
"sequence": 3,
"type": "labor",
"op_code": "BRK-FRPAD",
"op_code_type": "dealer",
"description": "Replace front brake pads and resurface rotors",
"complaint": "Grinding noise when braking at low speed",
"cause": "Front pads worn to 2mm; rotors within resurface spec",
"correction": "Replaced front pads, resurfaced front rotors, cleaned and lubricated slides, road-tested OK",
"status": "completed",
"hours": 1.8,
"actual_hours": 1.6,
"labor_rate": {
"amount": 165,
"currency": "USD"
},
"labor_type": "flat_rate",
"amount": {
"amount": 297,
"currency": "USD"
},
"taxable": false,
"technician_id": "4d3c2b1a-0f9e-4d8c-b7a6-95847362514f",
"skill_level": "A",
"warranty": {
"is_warranty": false
},
"pay_type": "customer_pay"
},
{
"sequence": 4,
"type": "sublet",
"description": "Front-end alignment (sublet to Precision Alignment Co.)",
"status": "completed",
"amount": {
"amount": 89.95,
"currency": "USD"
},
"unit_cost": {
"amount": 62,
"currency": "USD"
},
"sublet_vendor": "Precision Alignment Co.",
"sublet_invoice_number": "PA-55210",
"taxable": false,
"pay_type": "customer_pay"
},
{
"sequence": 5,
"type": "fee",
"description": "Shop supplies & hazmat disposal",
"status": "completed",
"quantity": 1,
"unit_price": {
"amount": 14.5,
"currency": "USD"
},
"amount": {
"amount": 14.5,
"currency": "USD"
},
"tax": {
"amount": 1.01,
"currency": "USD"
},
"taxable": true,
"pay_type": "customer_pay"
}
],
"parts": [
{
"line_sequence": 2,
"part_id": "aa11bb22-cc33-4d44-8e55-ff66aa77bb88",
"part_number": "PF63",
"description": "Engine oil filter, ACDelco PF63",
"manufacturer": "ACDelco",
"source": "oem",
"quantity": 1,
"unit_of_measure": "each",
"cost": {
"amount": 6.1,
"currency": "USD"
},
"sale": {
"amount": 12.99,
"currency": "USD"
},
"bin_location": "A-14-3"
},
{
"line_sequence": 3,
"part_id": "bb22cc33-dd44-4e55-9f66-aa77bb88cc99",
"part_number": "171-1104",
"description": "Front brake pad set, ceramic",
"manufacturer": "ACDelco",
"source": "oem",
"quantity": 1,
"unit_of_measure": "each",
"cost": {
"amount": 41.2,
"currency": "USD"
},
"sale": {
"amount": 98,
"currency": "USD"
},
"bin_location": "C-07-1"
}
],
"inspection": {
"performed_at": "2026-06-28T09:20:00Z",
"technician_id": "4d3c2b1a-0f9e-4d8c-b7a6-95847362514f",
"template": "GM Courtesy Multi-Point Inspection",
"items": [
{
"name": "Front brake pads",
"grade": "red",
"measurement": "2 mm",
"notes": "Below minimum; replaced this visit"
},
{
"name": "Tire tread (front)",
"grade": "yellow",
"measurement": "5/32 in",
"notes": "Rotate/monitor"
},
{
"name": "Cabin air filter",
"grade": "yellow",
"measurement": "contaminated",
"notes": "Recommend replacement"
},
{
"name": "Battery",
"grade": "green",
"measurement": "12.6 V, 640 CCA"
}
]
},
"totals": {
"parts": {
"amount": 110.99,
"currency": "USD"
},
"labor": {
"amount": 379.5,
"currency": "USD"
},
"sublet": {
"amount": 89.95,
"currency": "USD"
},
"fees": {
"amount": 14.5,
"currency": "USD"
},
"shop_supplies": {
"amount": 14.5,
"currency": "USD"
},
"discount": {
"amount": 20,
"currency": "USD"
},
"subtotal": {
"amount": 594.94,
"currency": "USD"
},
"taxable_amount": {
"amount": 125.49,
"currency": "USD"
},
"tax": {
"amount": 45.86,
"currency": "USD"
},
"total": {
"amount": 620.8,
"currency": "USD"
},
"amount_paid": {
"amount": 620.8,
"currency": "USD"
},
"balance_due": {
"amount": 0,
"currency": "USD"
},
"cost_total": {
"amount": 240.3,
"currency": "USD"
},
"customer_pay_total": {
"amount": 620.8,
"currency": "USD"
},
"warranty_total": {
"amount": 0,
"currency": "USD"
},
"internal_total": {
"amount": 0,
"currency": "USD"
}
},
"payments": [
{
"method": "credit_card",
"amount": {
"amount": 620.8,
"currency": "USD"
},
"paid_at": "2026-06-28T15:08:00Z",
"reference": "AUTH-4417-9920",
"card_brand": "visa",
"card_last4": "4242"
}
],
"recommendations": [
{
"op_code": "TIRE-ROT",
"description": "Tire rotation and balance",
"urgency": "soon",
"declined": true,
"declined_at": "2026-06-28T13:30:00Z",
"declined_reason": "not_now",
"estimate": {
"amount": 49.95,
"currency": "USD"
},
"estimated_hours": 0.4,
"follow_up_at": "2026-07-28T09:00:00Z"
},
{
"op_code": "AIR-CAB",
"description": "Replace cabin air filter (contaminated)",
"urgency": "future",
"declined": true,
"declined_at": "2026-06-28T13:30:00Z",
"declined_reason": "price",
"estimate": {
"amount": 64,
"currency": "USD"
},
"estimated_hours": 0.3,
"follow_up_at": "2026-09-28T09:00:00Z"
}
],
"authorizations": [
{
"authorized_at": "2026-06-28T10:05:00Z",
"amount": {
"amount": 650,
"currency": "USD"
},
"method": "phone",
"authorized_by": {
"first": "Dana",
"last": "Whitfield"
},
"line_sequences": [
3,
4
]
}
],
"csi": {
"surveyed_at": "2026-06-30T12:00:00Z",
"score": 9.5,
"scale_max": 10,
"nps": 10,
"comments": "Marcus kept me updated the whole time. Quick and easy."
},
"notes": "Waiter appointment; express lane. Customer approved brake work by phone.",
"created_at": "2026-06-28T08:15:03Z",
"updated_at": "2026-06-28T15:10:12Z",
"created_by": "2b1a0f9e-8d7c-4b6a-9584-73625140f3e2",
"updated_by": "2b1a0f9e-8d7c-4b6a-9584-73625140f3e2",
"extensions": {
"cdk:appointment_source": "web_scheduler",
"cobalt:express_lane": true
}
}