Skip to main content

Care views

Read models for a customer-care console (for example a Service Cloud component).

OperationEndpoint
Care view of a customerGET /oms-ops/care/customers/{customerRef}
Care view of a tripGET /oms-ops/care/trips/{tripId}

Care view of a customer​

GET/oms-ops/care/customers/{customerRef}

Parameters

NameInRequiredNotes
customerRefpathyes

Response 200

Errors
StatusCodeMeaning
400invalid_requestThe request failed validation. The message names the first failing field; oms-ops and group surfaces also return every issue in details.
401unauthenticatedThe bearer token is missing, invalid, expired or minted for another purpose.
403scope_forbiddenThe token is scoped to an agency or an access scope; this surface requires an unscoped tenant token.
404customer_not_foundThe customer has no trips and no cases.
404oms_ops_not_enabledOrder operations are not enabled for the tenant.
500internalUnexpected failure. Retry with the same Idempotency-Key.

Care view of a trip​

GET/oms-ops/care/trips/{tripId}

Parameters

NameInRequiredNotes
tripIdpathyes

Response 200

GET/oms-ops/care/trips/TRP-0D3CE7B16625Care view of the trip
Request
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
StatusCodeMeaning
400invalid_requestThe request failed validation. The message names the first failing field; oms-ops and group surfaces also return every issue in details.
401unauthenticatedThe bearer token is missing, invalid, expired or minted for another purpose.
403scope_forbiddenThe token is scoped to an agency or an access scope; this surface requires an unscoped tenant token.
404trip_not_foundThe trip has no order lines in the projection.
404oms_ops_not_enabledOrder operations are not enabled for the tenant.
500internalUnexpected failure. Retry with the same Idempotency-Key.