{"openapi":"3.1.0","info":{"title":"Party & Event Planner","version":"1.0.0","description":"Food, drinks, ice, seating, timeline, bill split, pizza, cake and budget rule-of-thumb arithmetic for events. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Party & Event Planner: Food, drinks, ice, seating, timeline, bill split, pizza, cake and budget rule-of-thumb arithmetic for events. Use /food-quantity for how much food per guest by course, /drinks-estimate for drinks and bottles by hours, /ice-estimate for pounds and bags of ice, /tables-chairs for tables and chairs, /event-timeline for a backwards schedule from the start time, /bill-split for tip and an even split, /pizza-order for how many pizzas by area and slices, /cake-servings for cake servings by area per slice and /budget-split to divide a budget by percent. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://party-event-calc.x402tookit.com"}],"paths":{"/bill-split":{"get":{"operationId":"bill_split","summary":"Tip and even bill split in exact cents: tip on subtotal or total, shares that add up, optional round up to whole dollars.","description":"Tip and even bill split in exact cents: tip on subtotal or total, shares that add up, optional round up to whole dollars.","tags":["bill-split","tip","restaurant","money"],"parameters":[{"name":"subtotal","in":"query","required":true,"description":"Bill before tax and tip, in dollars","schema":{"type":"number"}},{"name":"people","in":"query","required":true,"description":"How many people split it (1 to 500)","schema":{"type":"number"}},{"name":"tipPercent","in":"query","required":false,"description":"Tip percent, 0 to 100 (default 18)","schema":{"type":"number"}},{"name":"taxAmount","in":"query","required":false,"description":"Tax in dollars (default 0)","schema":{"type":"number"}},{"name":"tipOn","in":"query","required":false,"description":"subtotal (default) or total (tip also on the tax)","schema":{"type":"string"}},{"name":"roundUp","in":"query","required":false,"description":"none (default, exact cents) or dollar (each person pays a whole dollar amount)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"subtotal":{"type":["null","number"]},"tax":{"type":["null","number"]},"tipPercent":{"type":["null","number"]},"tipOn":{"type":["null","string"]},"tipAmount":{"type":["null","number"]},"totalWithTip":{"type":["null","number"]},"people":{"type":["null","number"]},"baseShare":{"type":["null","number"]},"peoplePayingOneCentMore":{"type":["null","number"]},"higherShare":{"type":["null","number"]},"exactSharePerPerson":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Tip 15.75, total 110.25: 3 pay 27.56 and 1 pay 27.57.","reasons":["Tip = 18% of the subtotal (87.5), rounded to the nearest cent.","All money is handled in whole cents so the shares add up to the total."],"subtotal":87.5,"tax":7,"tipPercent":18,"tipOn":"subtotal","tipAmount":15.75,"totalWithTip":110.25,"people":4,"baseShare":27.56,"peoplePayingOneCentMore":1,"higherShare":27.57,"exactSharePerPerson":27.5625,"degraded":false,"notChecked":["service charges or gratuity already on the bill","uneven splits by what each person ordered","…1 more"],"source":"computed locally (integer cents; the cent remainder goes to the first payers)","asOf":"2026-10-12T01:45:03.467Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/bill-split"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/bill-split"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/bill-split"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/bill-split"}}]}}},"/budget-split":{"get":{"operationId":"budget_split","summary":"Split an event budget by percent into exact-cent amounts that add up to the total (largest-remainder rounding).","description":"Split an event budget by percent into exact-cent amounts that add up to the total (largest-remainder rounding).","tags":["budget","event","percent","planning"],"parameters":[{"name":"totalBudget","in":"query","required":true,"description":"Total budget in dollars","schema":{"type":"number"}},{"name":"categories","in":"query","required":false,"description":"Comma list of label:percent adding to 100 (default Venue:30,Food:35,Entertainment:10,Decor:10,Other:5,Contingency:10)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"totalBudget":{"type":["null","number"]},"categoryCount":{"type":["null","number"]},"allocations":{"type":["array","null"],"items":{"type":"object","properties":{"category":{"type":["null","string"]},"percent":{"type":["null","number"]},"amount":{"type":["null","number"]}}}},"allocatedTotal":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"5000 split 6 way(s); the biggest share is Food at 1750.","reasons":["Each amount is the percent of the total in whole cents; leftover cents go to the largest fractional parts so the amounts add up exactly."],"totalBudget":5000,"categoryCount":6,"allocations":[{"category":"Venue","percent":30,"amount":1500},{"category":"Food","percent":35,"amount":1750}],"allocatedTotal":5000,"degraded":false,"notChecked":["whether the percents suit your event (they are your inputs, not a benchmark)","taxes, gratuity and fees inside each category","…1 more"],"source":"computed locally (percent of the total in cents, remainder cents to the largest fractions)","asOf":"2026-10-12T01:45:03.722Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/budget-split"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/budget-split"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/budget-split"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/budget-split"}}]}}},"/cake-servings":{"get":{"operationId":"cake_servings","summary":"Cake servings from pan size and area per slice: round, square or rectangle, one or several tiers, wedding or party slice style.","description":"Cake servings from pan size and area per slice: round, square or rectangle, one or several tiers, wedding or party slice style.","tags":["cake","servings","party","wedding"],"parameters":[{"name":"shape","in":"query","required":true,"description":"round, square or rectangle","schema":{"type":"string"}},{"name":"sizeIn","in":"query","required":true,"description":"Diameter or side in inches; for stacked tiers a comma list like 6,8,10 (rectangle: its length, one tier)","schema":{"type":"string"}},{"name":"widthIn","in":"query","required":false,"description":"Width in inches (rectangle only)","schema":{"type":"number"}},{"name":"sliceStyle","in":"query","required":false,"description":"wedding (2 sq in per slice, a 1 x 2 inch top) or party (4 sq in, 2 x 2 inch). Default wedding","schema":{"type":"string"}},{"name":"servingSqIn","in":"query","required":false,"description":"Your own area per slice in square inches, replacing the style","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"shape":{"type":["null","string"]},"sliceStyle":{"type":["null","string"]},"areaPerSliceSqIn":{"type":["null","number"]},"tierCount":{"type":["null","number"]},"totalServings":{"type":["null","number"]},"tiers":{"type":["array","null"],"items":{"type":"object","properties":{"sizeIn":{"type":["null","number"]},"topAreaSqIn":{"type":["null","number"]},"servings":{"type":["null","number"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"78 servings from 3 round tier(s) at 2 sq in a slice (wedding).","reasons":["Each tier gives whole slices: top area / area per slice, rounded down; the tiers are added.","Round area = pi x radius squared."],"shape":"round","sliceStyle":"wedding","areaPerSliceSqIn":2,"tierCount":3,"totalServings":78,"tiers":[{"sizeIn":6,"topAreaSqIn":28.27,"servings":14},{"sizeIn":8,"topAreaSqIn":50.27,"servings":25}],"degraded":false,"notChecked":["cake height, tier spacing, and how deep a slice is cut","published wedding-cake charts (this uses area per slice, so it can differ by a few servings)","…1 more"],"source":"computed locally (top area of each tier divided by area per slice; no published serving chart is used)","asOf":"2026-10-12T01:45:03.985Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/cake-servings"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/cake-servings"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/cake-servings"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/cake-servings"}}]}}},"/drinks-estimate":{"get":{"operationId":"drinks_estimate","summary":"Drinks for an event from a first-hour and later-hours rule per guest, split into beer, wine and liquor, with bottle counts.","description":"Drinks for an event from a first-hour and later-hours rule per guest, split into beer, wine and liquor, with bottle counts.","tags":["drinks","bar","party","bottles"],"parameters":[{"name":"guests","in":"query","required":true,"description":"Total guests (1 to 5000)","schema":{"type":"number"}},{"name":"hours","in":"query","required":true,"description":"Hours the bar is open, 0.5 to 24","schema":{"type":"number"}},{"name":"firstHourDrinks","in":"query","required":false,"description":"Drinks per drinker in the first hour (default 2)","schema":{"type":"number"}},{"name":"laterHourDrinks","in":"query","required":false,"description":"Drinks per drinker for each later hour (default 1)","schema":{"type":"number"}},{"name":"nonDrinkingPercent","in":"query","required":false,"description":"Percent of guests who will not drink alcohol, 0 to 100 (default 0)","schema":{"type":"number"}},{"name":"beerPercent","in":"query","required":false,"description":"Share of drinks that are beer (default 40)","schema":{"type":"number"}},{"name":"winePercent","in":"query","required":false,"description":"Share that is wine (default 40)","schema":{"type":"number"}},{"name":"liquorPercent","in":"query","required":false,"description":"Share that is liquor or mixed drinks (default 20)","schema":{"type":"number"}},{"name":"drinksPerWineBottle","in":"query","required":false,"description":"Glasses per 750 ml wine bottle (default 5)","schema":{"type":"number"}},{"name":"drinksPerLiquorBottle","in":"query","required":false,"description":"Mixed drinks per 750 ml bottle (default 16, a 1.5 oz pour)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"guests":{"type":["null","number"]},"drinkers":{"type":["null","number"]},"hours":{"type":["null","number"]},"drinksPerDrinker":{"type":["null","number"]},"totalDrinks":{"type":["null","number"]},"totalDrinksRoundedUp":{"type":["null","number"]},"beerDrinks":{"type":["null","number"]},"beerBottlesOrCans":{"type":["null","number"]},"wineDrinks":{"type":["null","number"]},"wineBottles750ml":{"type":["null","number"]},"liquorDrinks":{"type":["null","number"]},"liquorBottles750ml":{"type":["null","number"]},"drinksPerWineBottle":{"type":["null","number"]},"drinksPerLiquorBottle":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"50 drinkers x 5 drinks over 4 h = 250 drinks: 100 beers, 20 wine bottles, 4 liquor bottles.","reasons":["Drinks per drinker = first-hour drinks + (hours - 1) x later-hour drinks; under one hour it is scaled down from the first hour.","Bottle counts round up; a 750 ml bottle holds about 25.4 oz."],"guests":50,"drinkers":50,"hours":4,"drinksPerDrinker":5,"totalDrinks":250,"totalDrinksRoundedUp":250,"beerDrinks":100,"beerBottlesOrCans":100,"wineDrinks":100,"wineBottles750ml":20,"liquorDrinks":50,"liquorBottles750ml":4,"drinksPerWineBottle":5,"drinksPerLiquorBottle":16,"degraded":false,"notChecked":["non-alcoholic drinks, water, mixers, juice and coffee (plan those separately)","responsible-service rules, licensing and guest safety (not alcohol-service advice)","…1 more"],"source":"computed locally (first-hour / later-hour rule of thumb; 750 ml = 25.4 oz)","asOf":"2026-10-12T01:45:04.250Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/drinks-estimate"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/drinks-estimate"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/drinks-estimate"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/drinks-estimate"}}]}}},"/event-timeline":{"get":{"operationId":"event_timeline","summary":"Backwards timeline from the event start: milestones given as minutes before start become 12-hour clock times, earliest first.","description":"Backwards timeline from the event start: milestones given as minutes before start become 12-hour clock times, earliest first.","tags":["timeline","schedule","event","planning"],"parameters":[{"name":"eventStart","in":"query","required":true,"description":"When the event starts, like 6:00 PM or 18:00","schema":{"type":"string"}},{"name":"milestones","in":"query","required":false,"description":"Comma list of label:minutesBefore (default Venue access:240,Decor done:120,Caterer arrives:90,Sound check:60,Doors open:30)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"eventStartClock":{"type":["null","string"]},"milestoneCount":{"type":["null","number"]},"timeline":{"type":["array","null"],"items":{"type":"object","properties":{"step":{"type":["null","number"]},"label":{"type":["null","string"]},"minutesBefore":{"type":["null","number"]},"time":{"type":["null","string"]},"dayOffset":{"type":["null","number"]}}}},"hoursFromFirstToStart":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"For a 6:00 PM start, begin at 2:00 PM with \"Venue access\"; 5 milestone(s) listed.","reasons":["Each time is the event start minus the lead time; items with equal times keep the longest lead first.","A dayOffset of -1 means the previous calendar day."],"eventStartClock":"6:00 PM","milestoneCount":5,"timeline":[{"step":1,"label":"Venue access","minutesBefore":240,"time":"2:00 PM","dayOffset":0},{"step":2,"label":"Decor done","minutesBefore":120,"time":"4:00 PM","dayOffset":0}],"hoursFromFirstToStart":4,"degraded":false,"notChecked":["travel time, traffic and venue rules","how long each task really takes","…1 more"],"source":"computed locally (event start minus each lead time)","asOf":"2026-10-12T01:45:04.514Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/event-timeline"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/event-timeline"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/event-timeline"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/event-timeline"}}]}}},"/food-quantity":{"get":{"operationId":"food_quantity","summary":"Food to prepare for a guest count by course (appetizer, main, side, salad, dessert, bread) with kid and appetite multipliers.","description":"Food to prepare for a guest count by course (appetizer, main, side, salad, dessert, bread) with kid and appetite multipliers.","tags":["catering","food","party","portions"],"parameters":[{"name":"guests","in":"query","required":true,"description":"Total guests including children (1 to 5000)","schema":{"type":"number"}},{"name":"type","in":"query","required":true,"description":"appetizer, main-boneless, main-bone-in, side-dish, salad, dessert or bread","schema":{"type":"string"}},{"name":"kids","in":"query","required":false,"description":"How many of the guests are children (default 0)","schema":{"type":"number"}},{"name":"kidFactor","in":"query","required":false,"description":"A child eats this share of an adult portion, 0.1 to 1 (default 0.5)","schema":{"type":"number"}},{"name":"multiplier","in":"query","required":false,"description":"Appetite or occasion multiplier, 0.25 to 5 (default 1)","schema":{"type":"number"}},{"name":"perGuest","in":"query","required":false,"description":"Your own per-adult amount in the type's unit, replacing the default","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"type":{"type":["null","string"]},"unit":{"type":["null","string"]},"guests":{"type":["null","number"]},"kids":{"type":["null","number"]},"kidFactor":{"type":["null","number"]},"multiplier":{"type":["null","number"]},"perAdultAmount":{"type":["null","number"]},"perAdultSource":{"type":["null","string"]},"effectiveAdultPortions":{"type":["null","number"]},"totalAmount":{"type":["null","number"]},"totalRoundedUp":{"type":["null","number"]},"totalPounds":{"type":["null","number"]},"totalPoundsRoundedUp":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"40 guests (10 children at 0.5 of a portion), main-boneless: 280 oz (17.5 lb).","reasons":["35 adult portions x 8 oz x 1 = 280 oz.","Default portions are common planning rules of thumb; change perGuest or the multiplier to fit your menu."],"type":"main-boneless","unit":"oz","guests":40,"kids":10,"kidFactor":0.5,"multiplier":1,"perAdultAmount":8,"perAdultSource":"8 oz (half a pound) raw boneless meat or fish","effectiveAdultPortions":35,"totalAmount":280,"totalRoundedUp":280,"totalPounds":17.5,"totalPoundsRoundedUp":17.5,"degraded":false,"notChecked":["dietary needs, allergies and religious restrictions","how many dishes you serve (split the amount across them)","…1 more"],"source":"computed locally (rule-of-thumb portion sizes, all overridable)","asOf":"2026-10-12T01:45:04.776Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/food-quantity"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/food-quantity"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/food-quantity"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/food-quantity"}}]}}},"/ice-estimate":{"get":{"operationId":"ice_estimate","summary":"Pounds and bags of ice for a guest count from a per-guest rule, with hot-weather multiplier and extra for chilling drinks.","description":"Pounds and bags of ice for a guest count from a per-guest rule, with hot-weather multiplier and extra for chilling drinks.","tags":["ice","party","drinks","cooler"],"parameters":[{"name":"guests","in":"query","required":true,"description":"Total guests (1 to 5000)","schema":{"type":"number"}},{"name":"lbPerGuest","in":"query","required":false,"description":"Pounds of ice per guest, 0.25 to 10 (default 1.5)","schema":{"type":"number"}},{"name":"hotWeatherMultiplier","in":"query","required":false,"description":"Multiplier for heat or an outdoor event, 1 to 3 (default 1)","schema":{"type":"number"}},{"name":"extraPounds","in":"query","required":false,"description":"Extra pounds to chill bottles and cans in tubs (default 0)","schema":{"type":"number"}},{"name":"bagPounds","in":"query","required":false,"description":"Pounds per bag you will buy (default 10)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"guests":{"type":["null","number"]},"lbPerGuest":{"type":["null","number"]},"hotWeatherMultiplier":{"type":["null","number"]},"extraPounds":{"type":["null","number"]},"totalPounds":{"type":["null","number"]},"totalKilograms":{"type":["null","number"]},"bagPounds":{"type":["null","number"]},"bagsToBuy":{"type":["null","number"]},"poundsBought":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"60 lb of ice, 6 bag(s) of 10 lb.","reasons":["40 guests x 1.5 lb x 1 + 0 lb extra = 60 lb; bags round up."],"guests":40,"lbPerGuest":1.5,"hotWeatherMultiplier":1,"extraPounds":0,"totalPounds":60,"totalKilograms":27.22,"bagPounds":10,"bagsToBuy":6,"poundsBought":60,"degraded":false,"notChecked":["your freezer or delivery limits","how fast ice melts at your venue","…1 more"],"source":"computed locally (about 1 to 2 lb of ice per guest is a common rule of thumb)","asOf":"2026-10-12T01:45:05.040Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/ice-estimate"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/ice-estimate"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/ice-estimate"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/ice-estimate"}}]}}},"/pizza-order":{"get":{"operationId":"pizza_order","summary":"How many pizzas to order from guests, kids and slices each, with pizza area, area per guest and a size comparison.","description":"How many pizzas to order from guests, kids and slices each, with pizza area, area per guest and a size comparison.","tags":["pizza","party","catering","area"],"parameters":[{"name":"guests","in":"query","required":true,"description":"Total guests including children (1 to 5000)","schema":{"type":"number"}},{"name":"kids","in":"query","required":false,"description":"How many of the guests are children (default 0)","schema":{"type":"number"}},{"name":"slicesPerAdult","in":"query","required":false,"description":"Slices per adult (default 3)","schema":{"type":"number"}},{"name":"slicesPerChild","in":"query","required":false,"description":"Slices per child (default 2)","schema":{"type":"number"}},{"name":"diameterIn","in":"query","required":false,"description":"Pizza diameter in inches, 6 to 36 (default 16)","schema":{"type":"number"}},{"name":"slicesPerPizza","in":"query","required":false,"description":"Slices cut per pizza, 2 to 24 (default 8)","schema":{"type":"number"}},{"name":"extraPercent","in":"query","required":false,"description":"Extra to order on top, 0 to 100 (default 0)","schema":{"type":"number"}},{"name":"compareDiameterIn","in":"query","required":false,"description":"A second size to compare by area (default 12)","schema":{"type":"number"}},{"name":"pricePerPizza","in":"query","required":false,"description":"Price per pizza in dollars, to total the cost","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"guests":{"type":["null","number"]},"kids":{"type":["null","number"]},"slicesNeeded":{"type":["null","number"]},"diameterIn":{"type":["null","number"]},"slicesPerPizza":{"type":["null","number"]},"pizzasToOrder":{"type":["null","number"]},"areaPerPizzaSqIn":{"type":["null","number"]},"totalAreaOrderedSqIn":{"type":["null","number"]},"areaPerGuestSqIn":{"type":["null","number"]},"areaPerSliceSqIn":{"type":["null","number"]},"spareSlices":{"type":["null","number"]},"compareDiameterIn":{"type":["null","number"]},"areaRatioToCompare":{"type":["null","number"]},"comparePizzasForSameArea":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"10 pizza(s) of 16 in (8 slices each) for 80 slices; 67 sq in per guest. The same area in 12 in pizzas takes 18.","reasons":["Slices = adults x 3 + children x 2, plus 0% extra, divided by 8 per pizza and rounded up.","A pizza's area grows with the square of its diameter, so one 16 inch pizza is about 1.78 times a 12 inch one."],"guests":30,"kids":10,"slicesNeeded":80,"diameterIn":16,"slicesPerPizza":8,"pizzasToOrder":10,"areaPerPizzaSqIn":201.06,"totalAreaOrderedSqIn":2010.6,"areaPerGuestSqIn":67.02,"areaPerSliceSqIn":25.13,"spareSlices":0,"compareDiameterIn":12,"areaRatioToCompare":1.778,"comparePizzasForSameArea":18,"degraded":false,"notChecked":["dietary needs (vegetarian, gluten-free), toppings split and sides","that thick crusts and deep dish feed fewer people per inch","…1 more"],"source":"computed locally (pizza area = pi x radius squared; slices per guest are inputs)","asOf":"2026-10-12T01:45:05.303Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/pizza-order"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/pizza-order"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/pizza-order"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/pizza-order"}}]}}},"/tables-chairs":{"get":{"operationId":"tables_chairs","summary":"Tables and chairs for a guest count from seats per table, with spare chairs, empty seats and tables for food, cake or gifts.","description":"Tables and chairs for a guest count from seats per table, with spare chairs, empty seats and tables for food, cake or gifts.","tags":["tables","chairs","seating","rental"],"parameters":[{"name":"guests","in":"query","required":true,"description":"Guests to seat (1 to 5000)","schema":{"type":"number"}},{"name":"seatsPerTable","in":"query","required":false,"description":"Seats at each guest table, 1 to 30 (default 8)","schema":{"type":"number"}},{"name":"spareChairPercent","in":"query","required":false,"description":"Spare chairs as a percent of guests, 0 to 50 (default 5)","schema":{"type":"number"}},{"name":"extraTables","in":"query","required":false,"description":"Extra tables for buffet, cake, gifts or bar (default 0)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"guests":{"type":["null","number"]},"seatsPerTable":{"type":["null","number"]},"guestTables":{"type":["null","number"]},"extraTables":{"type":["null","number"]},"totalTables":{"type":["null","number"]},"fullTables":{"type":["null","number"]},"guestsAtLastTable":{"type":["null","number"]},"seatsAvailable":{"type":["null","number"]},"emptySeats":{"type":["null","number"]},"guestsPerTableIfSpreadEvenly":{"type":["null","number"]},"spareChairPercent":{"type":["null","number"]},"chairsNeeded":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"10 guest table(s) of 8 and 79 chairs for 75 guests.","reasons":["75 guests / 8 seats = 9.38, rounded up to 10 tables.","Chairs = guests + 5% spare, rounded up."],"guests":75,"seatsPerTable":8,"guestTables":10,"extraTables":0,"totalTables":10,"fullTables":9,"guestsAtLastTable":3,"seatsAvailable":80,"emptySeats":5,"guestsPerTableIfSpreadEvenly":7.5,"spareChairPercent":5,"chairsNeeded":79,"degraded":false,"notChecked":["the real seats a table holds (round tables, rectangles and head tables differ)","floor space, aisles and fire-code or venue capacity limits","…1 more"],"source":"computed locally (guests divided by seats per table, rounded up)","asOf":"2026-10-12T01:45:05.568Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/tables-chairs"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/tables-chairs"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/tables-chairs"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://party-event-calc.x402tookit.com/tables-chairs"}}]}}}}}