Job Amount is used as a proxy for how long a job takes: jobs under the small-job threshold always take the flat duration below (regardless of exact amount); larger jobs are proportional to their dollar value against the daily target. Jobs are packed into each person's day accordingly (still grouped geographically) — a job worth more than a full day's target gets fully-blocked whole day(s) plus a shorter final day for whatever's left over (which can still take other jobs). This only affects scheduling math, never what's actually invoiced.
Keys are read from environment variables (a local .env file for development, or Coolify's environment variable settings in production) — they're never stored in config.json or committed to git.
| Google Maps API key | set |