changedInput schema / properties / currency / description
Previous value: -"Currency code, as a string, ISO 4217"New value: +"Currency code used only for display, e.g. USD, EUR, GBP (default USD)"
changedInput schema / properties / participants / description
Previous value: -"List of participant names, as strings in an array"New value: +"At least 2 players with unique names; include 'paid' for anyone who already paid, e.g. [{\"name\":\"Asha\",\"paid\":96},{\"name\":\"Dev\"}]"
addedInput schema / properties / participants / items / properties / name / description
Added value: +"Player name, unique within the list, e.g. 'Asha'"
addedInput schema / properties / participants / items / properties / paid / description
Added value: +"Amount this player already paid toward the total, in currency units (default 0)"
addedInput schema / properties / participants / items / properties / paid / minimum
Added value: +0
addedInput schema / properties / participants / minItems
Added value: +2
changedInput schema / properties / shares / description
Previous value: -"Each participant's share of the total cost, as numbers in an array"New value: +"Optional positive relative weights, one per participant in the same order, e.g. [2,1,1]; omit for an equal split"
addedInput schema / properties / shares / items / exclusiveMinimum
Added value: +0
changedInput schema / properties / total_cost / description
Previous value: -"Total amount spent, as a number"New value: +"Total court/venue cost in currency units, e.g. 96 for $96.00"
addedInput schema / properties / total_cost / exclusiveMinimum
Added value: +0
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "balances": {
+ "description": "Per-player paid, owed share and net balance",
+ "items": {
+ "properties": {
+ "balance": {
+ "description": "paid minus owed; positive = gets money back, negative = owes money",
+ "type": "number"
+ },
+ "name": {
+ "description": "Player name",
+ "type": "string"
+ },
+ "owed": {
+ "description": "This player's fair share of the cost",
+ "type": "number"
+ },
+ "paid": {
+ "description": "Amount this player paid",
+ "type": "number"
+ }
+ },
+ "required": [
+ "name",
+ "paid",
+ "owed",
+ "balance"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "currency": {
+ "description": "Currency code used for display",
+ "type": "string"
+ },
+ "note": {
+ "description": "Plain-language summary of the settlement",
+ "type": "string"
+ },
+ "total_cost": {
+ "description": "Total shared cost, rounded to cents",
+ "type": "number"
+ },
+ "transfer_count": {
+ "description": "Number of payments in transfers",
+ "type": "integer"
+ },
+ "transfers": {
+ "description": "Minimal list of payments that settles the group",
+ "items": {
+ "properties": {
+ "amount": {
+ "description": "Amount to transfer, rounded to cents",
+ "type": "number"
+ },
+ "from": {
+ "description": "Player who pays",
+ "type": "string"
+ },
+ "to": {
+ "description": "Player who receives",
+ "type": "string"
+ }
+ },
+ "required": [
+ "from",
+ "to",
+ "amount"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "currency",
+ "total_cost",
+ "balances",
+ "transfers",
+ "transfer_count",
+ "note"
+ ],
+ "type": "object"
+}