Resolution preference

Read what the customer is asking for: a replacement, a refund, a partial credit, or no stated preference.

F@f

Limits to keep in mind

This reads what the customer asked for. It does not decide whether they are entitled to it.

Problem

Customers often say what they want ("just send a new one", "I'd keep it for a discount") and agents still reply with a generic menu, adding a round trip.

Goal

Capture the stated preference so the reply can act on it, while policy and stock checks stay in code.

Input / state

The customer's message about a damaged, wrong or missing item.

message
The customer's message.
issue_type
The issue already identified, for context.

Decision question

ChoiceQuestion key preferred_resolution

Which resolution does the customer ask for in this message?

Options

  • replacementAsks for the item to be sent again, replaced or exchanged.
  • refundAsks for money back for the item or order.
  • partial_creditOffers to keep the item in exchange for a discount, voucher or partial refund.
  • no_preferenceReports the problem but does not say what they would like to happen.

Allowed outcomes

Decided in your code from the answer and its confidence. Thresholds are yours to set and test.

  • ReplacementChoice is replacement and confidence meets your threshold.
  • RefundChoice is refund and confidence meets your threshold.
  • Partial creditChoice is partial_credit and confidence meets your threshold.
  • No preference statedChoice is no_preference and confidence meets your threshold.
  • Needs a personConfidence is below your threshold: probability is spread across options.

Example scenarios

Predefined demonstrations. No model is called; the outcome shown is an illustrative judgment.

Example state

{
  "message": "The vase arrived smashed. Please send another one, it's a birthday present for Saturday.",
  "issue_type": "damaged_item"
}

Outcome

Illustrative
Replacement

Choice is replacement and confidence meets your threshold.

Why

Asks directly for the item to be sent again.

Using it well

  • A stated preference is not an entitlement. Stock, order value and policy decide what can be offered, and they are checked in code.
  • When no preference is stated, ask once with the options your policy allows rather than guessing.
  • "Whichever is faster" style answers often split probability between two options; treat them as a question for the customer or an agent.

Request definition

POST https://api.typesafe.ai/v1/systemone
{
  "model": "jev-latest",
  "state": {
    "message": "<message>",
    "issue_type": "<issue_type>"
  },
  "questions": {
    "preferred_resolution": {
      "type": "choice",
      "instructions": "Which resolution does the customer ask for in this message?",
      "criteria": {
        "replacement": "Asks for the item to be sent again, replaced or exchanged.",
        "refund": "Asks for money back for the item or order.",
        "partial_credit": "Offers to keep the item in exchange for a discount, voucher or partial refund.",
        "no_preference": "Reports the problem but does not say what they would like to happen."
      }
    }
  }
}

Request shape from the System One API reference; a Kev server accepts the same body. Replace the placeholder state with your data. Requests need your own API key or server.

Version History

v1Current Versionabout 8 hours ago@f

Initial version

Comments (0)