changedInput schema / properties / currency / description
Previous value: -"Currency code for display, default USD"New value: +"Currency code used only for display, e.g. USD, EUR, GBP (default USD)"
changedInput schema / properties / participants / description
Previous value: -"Players in the split"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: -"Optional relative weights, one per participant"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 court/venue cost"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": {
+ "currency": {
+ "description": "Currency code used for display",
+ "type": "string"
+ },
+ "note": {
+ "description": "Plain-language summary of the split",
+ "type": "string"
+ },
+ "participants": {
+ "description": "Per-player paid, owed share and 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"
+ },
+ "per_head": {
+ "description": "Equal share per player, or null for a weighted split",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "settle_up": {
+ "description": "Fewest payments that settle everyone (empty if nobody paid yet or all square)",
+ "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"
+ },
+ "split": {
+ "description": "Whether the split was equal or by relative weights",
+ "enum": [
+ "equal",
+ "weighted"
+ ],
+ "type": "string"
+ },
+ "total_cost": {
+ "description": "Total cost that was split, rounded to cents",
+ "type": "number"
+ }
+ },
+ "required": [
+ "currency",
+ "total_cost",
+ "split",
+ "per_head",
+ "participants",
+ "settle_up",
+ "note"
+ ],
+ "type": "object"
+}