Care views
Read models for a customer-care console (for example a Service Cloud component).
| Operation | Endpoint |
|---|---|
| Care view of a customer | GET /oms-ops/care/customers/{customerRef} |
| Care view of a trip | GET /oms-ops/care/trips/{tripId} |
Care view of a customer
GET
/oms-ops/care/customers/{customerRef}Parameters
| Name | In | Required | Notes |
|---|---|---|---|
customerRef | path | yes |
Response 200
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request failed validation. The message names the first failing field; oms-ops and group surfaces also return every issue in details. |
| 401 | unauthenticated | The bearer token is missing, invalid, expired or minted for another purpose. |
| 403 | scope_forbidden | The token is scoped to an agency or an access scope; this surface requires an unscoped tenant token. |
| 404 | customer_not_found | The customer has no trips and no cases. |
| 404 | oms_ops_not_enabled | Order operations are not enabled for the tenant. |
| 500 | internal | Unexpected failure. Retry with the same Idempotency-Key. |
Care view of a trip
GET
/oms-ops/care/trips/{tripId}Parameters
| Name | In | Required | Notes |
|---|---|---|---|
tripId | path | yes |
Response 200
GET
/oms-ops/care/trips/TRP-0D3CE7B16625Care view of the tripRequest
curl -X GET "$BASE/oms-ops/care/trips/TRP-0D3CE7B16625" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Request-Id: req-0021"
Response
HTTP/1.1 200
X-Request-Id: req-0021
{
"tripId": "TRP-0D3CE7B16625",
"groupId": null,
"statuses": {
"booked": 2,
"cancelled": 2
},
"lines": [
{
"lineId": "L-9F197F515BFD",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-75EB654AFFAC",
"groupId": null,
"productKind": "beverage",
"productRef": "DRINKS-CLASSIC-7N",
"departureRef": "MED7-2027-04-12",
"categoryRef": null,
"channel": "web",
"market": "IT",
"amountMinor": 30800,
"currency": "EUR",
"status": "booked",
"roles": {
"payer": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"booker": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"travellers": [
{
"ref": "PAX-01"
},
{
"ref": "PAX-02"
}
]
},
"attributes": {
"poType": "standard",
"source": "order_orchestration",
"offerId": "ALL-INCLUSIVE-2027",
"quantity": 2,
"poSequence": 1,
"departureAt": "2027-04-12T17:00:00Z",
"orderVersion": 4,
"promotionIds": [],
"quoteLineRef": "q-line-2",
"sourceSystem": "onboard",
"billingStatus": "not_billed",
"paymentStatus": "not_due",
"reservationRef": "RSV-1306C259-000001",
"tripCustomerRef": "CUST-20419",
"fulfilmentStatus": "requested"
},
"lineVersion": 3,
"updatedAt": "2026-11-02T09:06:42.000Z"
},
{
"lineId": "L-490ECF37928C",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-75EB654AFFAC",
"groupId": null,
"productKind": "cruise",
"productRef": "MED7-2027-04-12",
"departureRef": "MED7-2027-04-12",
"categoryRef": "BALCONY-B2",
"channel": "web",
"market": "IT",
"amountMinor": 238000,
"currency": "EUR",
"status": "booked",
"roles": {
"payer": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"booker": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"travellers": [
{
"ref": "PAX-01"
},
{
"ref": "PAX-02"
}
]
},
"attributes": {
"poType": "standard",
"source": "order_orchestration",
"offerId": "ALL-INCLUSIVE-2027",
"quantity": 1,
"poSequence": 1,
"departureAt": "2027-04-12T17:00:00Z",
"externalRef": "RSV-1306C259-000001",
"orderVersion": 4,
"promotionIds": [
"EARLY-BOOKING-10"
],
"quoteLineRef": "q-line-1",
"sourceSystem": "reservation",
"billingStatus": "not_billed",
"paymentStatus": "not_due",
"reservationRef": "RSV-1306C259-000001",
"tripCustomerRef": "CUST-20419",
"fulfilmentStatus": "confirmed"
},
"lineVersion": 3,
"updatedAt": "2026-11-02T09:06:42.000Z"
},
{
"lineId": "L-246E4D13D7E2",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-516C330693E2",
"groupId": null,
"productKind": "excursion",
"productRef": "EXC-NAP-POMPEII",
"departureRef": "MED7-2027-04-12",
"categoryRef": null,
"channel": "app",
"market": "IT",
"amountMinor": 0,
"currency": "EUR",
"status": "cancelled",
"roles": {
"payer": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"booker": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"travellers": [
{
"ref": "PAX-01"
},
{
"ref": "PAX-02"
}
]
},
"attributes": {
"poType": "standard",
"source": "order_orchestration",
"quantity": 2,
"poSequence": 2,
"departureAt": "2027-04-12T17:00:00Z",
"serviceDate": "2027-04-14T08:30:00Z",
"orderVersion": 4,
"promotionIds": [],
"sourceSystem": "excursions",
"billingStatus": "not_billed",
"paymentStatus": "not_due",
"reservationRef": "RSV-1306C259-000001",
"passengerShares": [
{
"ref": "PAX-01",
"cancelled": true,
"amountMinor": 0
},
{
"ref": "PAX-02",
"cancelled": true,
"amountMinor": 0
}
],
"tripCustomerRef": "CUST-20419",
"fulfilmentStatus": "cancelled"
},
"lineVersion": 3,
"updatedAt": "2026-11-02T09:06:42.000Z"
},
{
"lineId": "L-A94EBCF306F0",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-516C330693E2",
"groupId": null,
"productKind": "excursion",
"productRef": "EXC-BCN-SAGRADA",
"departureRef": "MED7-2027-04-12",
"categoryRef": null,
"channel": "app",
"market": "IT",
"amountMinor": 0,
"currency": "EUR",
"status": "cancelled",
"roles": {
"payer": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"booker": {
"ref": "CUST-20419",
"name": "Giulia Rossi"
},
"travellers": [
{
"ref": "PAX-02"
}
]
},
"attributes": {
"poType": "standard",
"source": "order_orchestration",
"quantity": 1,
"poSequence": 2,
"departureAt": "2027-04-12T17:00:00Z",
"serviceDate": "2027-04-17T09:00:00Z",
"orderVersion": 4,
"promotionIds": [],
"sourceSystem": "excursions",
"billingStatus": "not_billed",
"paymentStatus": "not_due",
"reservationRef": "RSV-1306C259-000001",
"passengerShares": [
{
"ref": "PAX-02",
"cancelled": true,
"amountMinor": 0
}
],
"tripCustomerRef": "CUST-20419",
"fulfilmentStatus": "cancelled"
},
"lineVersion": 3,
"updatedAt": "2026-11-02T09:06:42.000Z"
}
],
"balance": {
"scope": {
"level": "trip",
"ref": "TRP-0D3CE7B16625"
},
"currency": "EUR",
"amountMinor": 268800,
"paidMinor": 48760,
"openMinor": 220040,
"unallocatedMinor": 0,
"status": "partially_paid",
"purchaseOrders": [
{
"poId": "PO-75EB654AFFAC",
"amountMinor": 268800,
"paidMinor": 48760,
"status": "partially_paid"
},
{
"poId": "PO-516C330693E2",
"amountMinor": 0,
"paidMinor": 0,
"status": "no_charge"
}
],
"trips": [
{
"tripId": "TRP-0D3CE7B16625",
"amountMinor": 268800,
"paidMinor": 48760,
"status": "partially_paid"
}
],
"lines": [
{
"lineId": "L-9F197F515BFD",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-75EB654AFFAC",
"productKind": "beverage",
"amountMinor": 30800,
"paidMinor": 0,
"openMinor": 30800,
"status": "unpaid",
"byPayer": [],
"byPayment": []
},
{
"lineId": "L-490ECF37928C",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-75EB654AFFAC",
"productKind": "cruise",
"amountMinor": 238000,
"paidMinor": 48760,
"openMinor": 189240,
"status": "partially_paid",
"byPayer": [
{
"payerRef": "CUST-20419",
"payerRole": "booker",
"paidMinor": 48760
}
],
"byPayment": [
{
"paymentId": "pay_6ac1a14d-7a36-4c41-b7bc-db35708558e0",
"paidMinor": 48760
}
]
},
{
"lineId": "L-246E4D13D7E2",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-516C330693E2",
"productKind": "excursion",
"amountMinor": 0,
"paidMinor": 0,
"openMinor": 0,
"status": "no_charge",
"byPayer": [],
"byPayment": []
},
{
"lineId": "L-A94EBCF306F0",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-516C330693E2",
"productKind": "excursion",
"amountMinor": 0,
"paidMinor": 0,
"openMinor": 0,
"status": "no_charge",
"byPayer": [],
"byPayment": []
}
]
},
"payments": [
{
"kind": "payment",
"actor": {
"id": "web-checkout",
"role": "channel",
"channel": "web"
},
"payer": {
"ref": "CUST-20419",
"name": "Giulia Rossi",
"role": "booker"
},
"anchor": {
"ref": "TRP-0D3CE7B16625",
"level": "trip"
},
"method": "card",
"currency": "EUR",
"scenario": "deposit",
"tenantId": "meridian",
"paymentId": "pay_6ac1a14d-7a36-4c41-b7bc-db35708558e0",
"receivedAt": "2026-11-02T09:09:19.000Z",
"recordedAt": "2026-11-02T09:09:19.000Z",
"amountMinor": 53760,
"externalRef": "PSP-AUTH-118274",
"allocationMethod": "sequential",
"refundOf": null,
"allocatedMinor": 48760,
"unallocatedMinor": 0,
"refundedMinor": 5000,
"legs": [
{
"allocationId": "alc_7ab4ba89-177a-4b91-bf1f-b27285d4aff1",
"paymentId": "pay_6ac1a14d-7a36-4c41-b7bc-db35708558e0",
"lineId": "L-490ECF37928C",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-75EB654AFFAC",
"groupId": null,
"amountMinor": 53760,
"currency": "EUR",
"method": "sequential",
"runId": "run_f815e8c5-9bf7-4f60-ac7f-fcb897921a7a",
"reason": "allocate",
"createdAt": "2026-11-02T09:09:19.000Z"
},
{
"allocationId": "alc_bf81d462-5411-4169-ba86-1147862d70c6",
"paymentId": "pay_55710c02-f20c-4099-a7ee-844561a5764f",
"lineId": "L-490ECF37928C",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-75EB654AFFAC",
"groupId": null,
"amountMinor": -5000,
"currency": "EUR",
"method": "proportional",
"runId": "run_593bfe8a-a4a6-4d9f-a900-26a42dcd53b3",
"reason": "refund",
"createdAt": "2026-11-02T09:13:38.000Z"
}
]
},
{
"kind": "refund",
"note": "Price match after promotion change",
"actor": {
"id": "agent-0412",
"name": "Marco Bianchi",
"role": "care_agent",
"channel": "contact_centre"
},
"payer": {
"ref": "CUST-20419",
"name": "Giulia Rossi",
"role": "booker"
},
"anchor": {
"ref": "TRP-0D3CE7B16625",
"level": "trip"
},
"method": "card",
"currency": "EUR",
"refundOf": "pay_6ac1a14d-7a36-4c41-b7bc-db35708558e0",
"scenario": "refund",
"tenantId": "meridian",
"paymentId": "pay_55710c02-f20c-4099-a7ee-844561a5764f",
"receivedAt": "2026-11-02T09:13:38.000Z",
"recordedAt": "2026-11-02T09:13:38.000Z",
"amountMinor": 5000,
"externalRef": null,
"allocationMethod": "proportional",
"allocatedMinor": -5000,
"unallocatedMinor": 0,
"refundedMinor": 0,
"legs": [
{
"allocationId": "alc_bf81d462-5411-4169-ba86-1147862d70c6",
"paymentId": "pay_55710c02-f20c-4099-a7ee-844561a5764f",
"lineId": "L-490ECF37928C",
"tripId": "TRP-0D3CE7B16625",
"poId": "PO-75EB654AFFAC",
"groupId": null,
"amountMinor": -5000,
"currency": "EUR",
"method": "proportional",
"runId": "run_593bfe8a-a4a6-4d9f-a900-26a42dcd53b3",
"reason": "refund",
"createdAt": "2026-11-02T09:13:38.000Z"
}
]
}
],
"marks": [],
"recoveryCases": []
}
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request failed validation. The message names the first failing field; oms-ops and group surfaces also return every issue in details. |
| 401 | unauthenticated | The bearer token is missing, invalid, expired or minted for another purpose. |
| 403 | scope_forbidden | The token is scoped to an agency or an access scope; this surface requires an unscoped tenant token. |
| 404 | trip_not_found | The trip has no order lines in the projection. |
| 404 | oms_ops_not_enabled | Order operations are not enabled for the tenant. |
| 500 | internal | Unexpected failure. Retry with the same Idempotency-Key. |