--- title: schedule.kitList | Doing Work API description: The kit list for one worker and one day (tomorrow by default, shop time): each visit they are on with the address, map link, the work from the quote, mater url: https://doingwork.work/docs/reference/schedule-kitlist/ --- # schedule.kitList The kit list for one worker and one day (tomorrow by default, shop time): each visit they are on with the address, map link, the work from the quote, materials on the job, open checklist items, pinned notes and the latest photos. Cancelled visits are left out. Quote prices show only to people who can see prices. A field worker gets only their own list. | | | |---|---| | Who | Agents can call this | | REST | `GET /v1/schedule/kit-list` | | MCP tool | `schedule_kitList` | | Writes | no | | Area | [Scheduling and visits](https://doingwork.work/docs/reference/#scheduling-and-visits) | ## When to use it Lead rules (requests.setLeadSettings, owner or office) decide what happens to a new request. With auto_reply on, Doing Work sends one first reply within a minute: a text only where the customer already agreed to texts or texted the shop, and the shop's own number is approved for business texting; otherwise an email; otherwise nothing. ## What to tell the owner Tell them what you found in plain words. Don't read back raw fields. ## Input | Field | Type | Required | |---|---|---| | `shop_id` | string (uuid) | yes | | `date` | string (date) | no | | `person_id` | string (uuid) | no | ## Example ```http GET https://doingwork.work/v1/schedule/kit-list?shop_id=00000000-0000-4000-8000-000000000000 ``` ## Output | Field | Type | Always there | |---|---|---| | `date` | string (date) | yes | | `time_zone` | string | yes | | `person_id` | string (uuid) | yes | | `visits` | array | yes | | `visits[].visit_id` | string (uuid) | yes | | `visits[].job_id` | string (uuid) | yes | | `visits[].starts_at` | string (date-time) | yes | | `visits[].ends_at` | string (date-time) | yes | | `visits[].title` | ['string', 'null'] | yes | | `visits[].job_summary` | ['string', 'null'] | yes | | `visits[].customer_name` | ['string', 'null'] | yes | | `visits[].customer_phone` | ['string', 'null'] | yes | | `visits[].address` | ['string', 'null'] | yes | | `visits[].maps_url` | ['string', 'null'] | yes | | `visits[].crew_mates` | array | yes | | `visits[].scope` | array | yes | | `visits[].scope[].description` | string | yes | | `visits[].scope[].quantity` | number | yes | | `visits[].scope[].unit_price_minor` | ['integer', 'null'] | yes | | `visits[].materials` | array | yes | | `visits[].materials[].name` | string | yes | | `visits[].materials[].quantity` | number | yes | | `visits[].materials[].unit` | ['string', 'null'] | yes | | `visits[].checklist` | array | yes | | `visits[].checklist[].checklist` | string | yes | | `visits[].checklist[].label` | string | yes | | `visits[].checklist[].required` | boolean | yes | | `visits[].pinned_notes` | array | yes | | `visits[].pinned_notes[].note_id` | string (uuid) | yes | | `visits[].pinned_notes[].body` | string | yes | | `visits[].photos` | array | yes | | `visits[].photos[].media_id` | string (uuid) | yes | | `visits[].photos[].stage` | string | yes | | `visits[].photos[].uploaded_at` | string (date-time) | yes | | `email_hour` | ['integer', 'null'] | yes | ```json { "date": "...", "time_zone": "...", "person_id": "00000000-0000-4000-8000-000000000000", "visits": [ { "visit_id": "00000000-0000-4000-8000-000000000000", "job_id": "00000000-0000-4000-8000-000000000000", "starts_at": "...", "ends_at": "...", "title": "...", "job_summary": "...", "customer_name": "...", "customer_phone": "...", "address": "...", "maps_url": "...", "crew_mates": [ "..." ], "scope": [ { "description": "40 gallon gas heater, installed", "quantity": "...", "unit_price_minor": "..." } ], "materials": [ { "name": "Ruiz Plumbing", "quantity": "...", "unit": "..." } ], "checklist": [ { "checklist": "...", "label": "...", "required": true } ], "pinned_notes": [ { "note_id": "00000000-0000-4000-8000-000000000000", "body": "..." } ], "photos": [ { "media_id": "00000000-0000-4000-8000-000000000000", "stage": "...", "uploaded_at": "..." } ] } ], "email_hour": "..." } ``` ## Errors | Code | Status | What to do | |---|---|---| | `invalid_input`, `invalid_token`, `rate_limited` | | Can happen on any call. See [errors](https://doingwork.work/docs/errors/). |