changedInput schema / properties / bills / description
Previous value: -"Bills to split"New value: +"Bills to split (names must be unique), e.g. [{\"name\":\"Electricity\",\"amount\":120,\"split\":\"by_usage\"}]"
addedInput schema / properties / bills / items / properties / amount / description
Added value: +"Bill total, positive number, e.g. 120"
addedInput schema / properties / bills / items / properties / name / description
Added value: +"Unique bill label, e.g. 'Electricity'"
addedInput schema / properties / bills / items / properties / split / description
Added value: +"'equal' per person, 'by_occupants' weighted by each person's occupants, or 'by_usage' weighted by usage_weight (required on everyone)"
addedInput schema / properties / bills / minItems
Added value: +1
changedInput schema / properties / people / description
Previous value: -"People sharing the house"New value: +"Housemates sharing the bills (names must be unique), e.g. [{\"name\":\"Asha\",\"usage_weight\":2},{\"name\":\"Dev\",\"usage_weight\":1}]"
addedInput schema / properties / people / items / properties / name / description
Added value: +"Unique housemate name"
addedInput schema / properties / people / items / properties / occupants / description
Added value: +"How many people this housemate pays for (by_occupants bills), positive, default 1"
addedInput schema / properties / people / items / properties / usage_weight / description
Added value: +"Relative usage for by_usage bills, positive, e.g. 2 for double use, 0.5 for a light user"
addedInput schema / properties / people / minItems
Added value: +1
addedOutput schema / properties / bills
Added value: +{
+ "description": "Each bill with its per-person shares (shares sum to the bill amount)",
+ "items": {
+ "properties": {
+ "amount": {
+ "description": "Bill total, rounded to cents",
+ "type": "number"
+ },
+ "name": {
+ "description": "Bill label",
+ "type": "string"
+ },
+ "shares": {
+ "description": "Each person's share of this bill",
+ "items": {
+ "properties": {
+ "amount": {
+ "description": "Amount, rounded to cents",
+ "type": "number"
+ },
+ "name": {
+ "description": "Person's name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "amount"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "split": {
+ "description": "Split rule applied",
+ "enum": [
+ "equal",
+ "by_occupants",
+ "by_usage"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "amount",
+ "split",
+ "shares"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / grand_total
Added value: +{
+ "description": "Sum of all bill amounts",
+ "type": "number"
+}
addedOutput schema / properties / note
Added value: +{
+ "description": "Plain-language explanation of the totals",
+ "type": "string"
+}
removedOutput schema / properties / split_results
Removed value: -{
- "description": "List of split results for each person",
- "items": {
- "properties": {
- "bill_details": {
- "description": "Details of each bill and the person's share",
- "items": {
- "properties": {
- "amount_owed": {
- "description": "Amount owed by the person for this bill",
- "type": "number"
- },
- "bill_name": {
- "description": "Name of the bill",
- "type": "string"
- }
- },
- "required": [
- "bill_name",
- "amount_owed"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "name": {
- "description": "Name of the person",
- "type": "string"
- },
- "total_owed": {
- "description": "Total amount owed by the person",
- "type": "number"
- }
- },
- "required": [
- "name",
- "total_owed",
- "bill_details"
- ],
- "type": "object"
- },
- "type": "array"
-}
addedOutput schema / properties / totals
Added value: +{
+ "description": "Total each person owes across all bills",
+ "items": {
+ "properties": {
+ "amount": {
+ "description": "Amount, rounded to cents",
+ "type": "number"
+ },
+ "name": {
+ "description": "Person's name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "amount"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
changedOutput schema / required
Previous value: -[
- "split_results"
-]New value: +[
+ "bills",
+ "totals",
+ "grand_total",
+ "note"
+]