Handyman ordered visit grouping and charges calculator

Calculate visit grouping [job IDs,minutes,charge] and oversized jobs and total quoted visit charge with your own figures.

Your numbers

Use the units shown. Results update as you change valid inputs.

Choose the currency for these amounts. Changing it keeps your numbers and does not convert exchange rates.

Use visit grouping [job IDs,minutes,charge] and oversized jobs and total quoted visit charge to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

Jobs [task minutes,associated travel minutes]; enter JSON
[[120,30],[180,30],[90,20]]
Visit workday capacity (minutes)
480
Minimum billable visit duration (minutes)
240
Hourly charge (USD/hour)
40
Visit grouping [job IDs,minutes,charge] and oversized jobs (JSON) (USD)
{"visits":[[[1,2,3],470,313.33]],"oversized":[]}
Total quoted visit charge (USD)
$313.33

Try another scenario

Jobs [task minutes,associated travel minutes]; enter JSON
[[180,40],[200,30],[120,20]]
Visit workday capacity (minutes)
420
Minimum billable visit duration (minutes)
300
Hourly charge (USD/hour)
45
Visit grouping [job IDs,minutes,charge] and oversized jobs (JSON) (USD)
{"visits":[[[1],220,225],[[2,3],370,277.5]],"oversized":[]}
Total quoted visit charge (USD)
$502.50
Calculation method

Calculation method

Visit grouping [job IDs,minutes,charge] and oversized jobs (JSON) (USD)

Append jobs in input order until day capacity would exceed; start next visit. Bill max(actual minutes,minimum)/60×rate; isolate oversized jobs as unresolved.

Total quoted visit charge (USD)

Sum completed feasible visit group charges; unresolved jobs excluded and disclosed.

Symbols and units
a
Jobs [task minutes,associated travel minutes]; enter JSON
b
Visit workday capacity (minutes)
c
Minimum billable visit duration (minutes)
d
Hourly charge (USD/hour)

Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.

Assumptions & limits

Assumptions & limits

  • Input-order visit grouping with each task travel included, one daily capacity and a supplied minimum billable visit duration. Supported limits: All numeric inputs and computed intermediates must remain finite. Supported numeric input magnitude is zero or 1e-12 through 1e12 in absolute value; reject values outside this bounded range. All lists/JSON record tables are limited to 100 records unless a stricter bound is stated; reject malformed record arity and wrong member types. Task/travel>=0 and sum>0 per job; daily capacity>0; minimum billable<=daily capacity; one currency.
Are these inputs private?

These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.

Share this page
Share this calculator

Leave unchecked to share the page without your entered values.