{"ok":true,"tool":"Time Card Calculator","operation":"calculateTimeCard","description":"Total work hours and gross pay from a list of clock-in/out shifts, with unpaid breaks and weekly overtime.","method":"POST","endpoint":"/api/time-card-calculator","webUrl":"https://ultraquick.tools/tools/time-card-calculator","parameters":{"type":"object","properties":{"shifts":{"type":"array","description":"Array of shifts, each with start and end (HH:MM 24-hour) and optional breakMinutes.","items":{"type":"object"}},"hourlyRate":{"type":"number","description":"Hourly wage used to compute gross pay (default 0, which skips pay)."},"overtimeThreshold":{"type":"number","description":"Weekly hours above which overtime applies (default 40). Set 0 to disable overtime."},"overtimeMultiplier":{"type":"number","description":"Overtime pay multiplier (default 1.5, i.e. time-and-a-half)."}},"required":["shifts"]},"response":{"type":"object","properties":{"shifts":{"type":"array","description":"Parsed shifts with worked minutes/hours per entry."},"shiftCount":{"type":"number","description":"Number of shifts processed."},"totalHours":{"type":"number","description":"Total worked hours across all shifts."},"regularHours":{"type":"number","description":"Hours paid at the regular rate."},"overtimeHours":{"type":"number","description":"Hours paid at the overtime rate."},"regularPay":{"type":"number","description":"Pay for regular hours."},"overtimePay":{"type":"number","description":"Pay for overtime hours."},"totalPay":{"type":"number","description":"Gross pay (regular + overtime)."}}},"example":{"request":{"shifts":[{"start":"09:00","end":"17:00","breakMinutes":30},{"start":"09:00","end":"17:00","breakMinutes":30}],"hourlyRate":20,"overtimeThreshold":40},"response_shape":{"type":"object","properties":{"shifts":{"type":"array","description":"Parsed shifts with worked minutes/hours per entry."},"shiftCount":{"type":"number","description":"Number of shifts processed."},"totalHours":{"type":"number","description":"Total worked hours across all shifts."},"regularHours":{"type":"number","description":"Hours paid at the regular rate."},"overtimeHours":{"type":"number","description":"Hours paid at the overtime rate."},"regularPay":{"type":"number","description":"Pay for regular hours."},"overtimePay":{"type":"number","description":"Pay for overtime hours."},"totalPay":{"type":"number","description":"Gross pay (regular + overtime)."}}}},"howToCall":"POST a JSON body to https://ultraquick.tools/api/time-card-calculator. Returns {\"ok\":true,\"result\":{...}} on success or {\"ok\":false,\"error\":\"...\"} on failure. No auth, CORS-enabled.","parametersSummary":"  shifts (array, required) — Array of shifts, each with start and end (HH:MM 24-hour) and optional breakMinutes.\n  hourlyRate (number, optional) — Hourly wage used to compute gross pay (default 0, which skips pay).\n  overtimeThreshold (number, optional) — Weekly hours above which overtime applies (default 40). Set 0 to disable overtime.\n  overtimeMultiplier (number, optional) — Overtime pay multiplier (default 1.5, i.e. time-and-a-half).","curlExample":"curl -X POST https://ultraquick.tools/api/time-card-calculator -H \"Content-Type: application/json\" -d '{\"shifts\":[{\"start\":\"09:00\",\"end\":\"17:00\",\"breakMinutes\":30},{\"start\":\"09:00\",\"end\":\"17:00\",\"breakMinutes\":30}],\"hourlyRate\":20,\"overtimeThreshold\":40}'"}