Skip to content

Invoice an HVAC contractor's service calls from quarter-hour labour, after-hours rates, refrigerant by weight and maintenance-agreement terms

Exact prompt

# Invoice an HVAC contractor's service calls from quarter-hour labour, after-hours rates, refrigerant by weight and maintenance-agreement terms Inputs: `service-calls.csv` (call_id, customer_id, arrive, depart, refrigerant, refrigerant_oz, parts_cost; arrive and depart are local date-times), `customers.csv` (customer_id, zone, agreement) and `rates.json`. All customers and calls are synthetic; amounts are in dollars. These rules are the contractor's price list; where `dispatcher-note.txt` disagrees, the rules win. Rules: - Hours: billable hours = depart − arrive, rounded up to the next quarter hour, and never less than minimum_hours. - After hours: a call that arrives before business_start or at or after business_end (local time), or on a Saturday or Sunday, is billed at labour_rate × after_hours_multiplier for all its hours; any other call at labour_rate. Labour = billable hours × that rate. - Refrigerant: refrigerant_oz / 16 pounds (16 oz = 1 lb, not rounded) × the per-lb price of that refrigerant, rounded half-up to the cent; 0 when no refrigerant was added. - Agreement: a customer with agreement yes pays no trip charge and gets agreement_parts_pct percent off parts_cost (the discount rounded half-up to the cent); any other customer pays the trip charge for its zone and the full parts_cost. - Tax: tax_pct percent of (parts after any discount + refrigerant), rounded half-up to the cent per call; labour and trip charges are not taxed. Call total = labour + trip + refrigerant + parts + tax. - Write `out/service-invoices.json`: `{"calls": {"<call_id>": {"hours": <number>, "labour": <dollars>, "trip": <dollars>, "refrigerant": <dollars>, "parts": <dollars>, "tax": <dollars>, "total": <dollars>}, ...}, "customers": {"<customer_id>": <sum of its call totals>, ...}}`. ## How this run works - Work on your own: nobody will answer questions in this task, and writing to `ask/` counts against the run. - Write only under `out/`. Create `out/` if it is missing. Inputs are synthetic; don't fetch anything from the network. - Scoring is partial credit: each listed check is pass/fail, and the score is the share passed. Numbers are compared to within 0.005 unless the task says otherwise.

Price a synthetic HVAC contractor's service calls. Time on site is billed in quarter hours rounded up with a one-hour minimum, calls that arrive outside business hours (including exactly at closing time and at weekends) take an after-hours multiplier, refrigerant is logged in ounces but priced per pound, maintenance-agreement customers skip the trip charge and get a parts discount, and only parts and refrigerant are taxed. A dispatcher note gets the rounding, closing-time, agreement and tax rules wrong. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked).

Success criteria: billable_hours after_hours refrigerant agreement_terms call_totals customer_totals

Best model for this task so far: Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) (success, $0.0047, 19s).

Run this on another model

All runs (3)

100% pass rate across 3 eligible runs: 3 pass, 0 partial, 0 fail. Partial and failed runs are listed below with everything else.ⓘ

Runs for this use case
ModelCostTimeStep-insⓘAutonomyOutcomeTrustⓘDateCompare
AClaude Opus 5.5default · thinking on$0.1223s0Fully autonomouspassTrust 80%2026-10-25
AClaude Haiku 5.5default · thinking on$0.004719s0Fully autonomouspassTrust 80%2026-10-25
AClaude Sonnet 5.5default · thinking on$0.0611s0Fully autonomouspassTrust 80%2026-10-25

Embed this result

A live badge for this use case. It links back here and updates as new runs are published.

UseCaseRank badge for Invoice an HVAC contractor's service calls from quarter-hour labour, after-hours rates, refrigerant by weight and maintenance-agreement terms

Get new runs and ranking changes weekly

Which models got better or cheaper on real tasks like this one.