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.

WhoAgents can call this
RESTGET /v1/schedule/kit-list
MCP toolschedule_kitList
Writesno
AreaScheduling 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

FieldTypeRequired
shop_idstring (uuid)yes
datestring (date)no
person_idstring (uuid)no

Example

GET https://doingwork.work/v1/schedule/kit-list?shop_id=00000000-0000-4000-8000-000000000000

Output

FieldTypeAlways there
datestring (date)yes
time_zonestringyes
person_idstring (uuid)yes
visitsarrayyes
visits[].visit_idstring (uuid)yes
visits[].job_idstring (uuid)yes
visits[].starts_atstring (date-time)yes
visits[].ends_atstring (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_matesarrayyes
visits[].scopearrayyes
visits[].scope[].descriptionstringyes
visits[].scope[].quantitynumberyes
visits[].scope[].unit_price_minor['integer', 'null']yes
visits[].materialsarrayyes
visits[].materials[].namestringyes
visits[].materials[].quantitynumberyes
visits[].materials[].unit['string', 'null']yes
visits[].checklistarrayyes
visits[].checklist[].checkliststringyes
visits[].checklist[].labelstringyes
visits[].checklist[].requiredbooleanyes
visits[].pinned_notesarrayyes
visits[].pinned_notes[].note_idstring (uuid)yes
visits[].pinned_notes[].bodystringyes
visits[].photosarrayyes
visits[].photos[].media_idstring (uuid)yes
visits[].photos[].stagestringyes
visits[].photos[].uploaded_atstring (date-time)yes
email_hour['integer', 'null']yes
{
  "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

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.