Skip to main content
The job object
Updated over a year ago

For job related webhook events, the data object includes information about a job's customer, appointment time, service/job fields, and an invoice summary. 


Example payload

  "data": {
    "start_date": "2019-11-13T00:00:00.000Z",
    "end_date": "2019-11-13T02:45:00.000Z",
    "time_slot": {
      "type": "arrival_window",
      "name": "11:00 AM - 1:00 PM",
      "start_time": "11:00",
      "end_time": "13:00",
      "arrival_window_length": 2
    },
    "rescheduled": false,
    "canceled": true,
    "status": "scheduled",
    "created_by": "staff",
    "timezone": "Australia/Melbourne",
    "location": {
      "address": "434 Lygon St, Brunswick East VIC 3057, Australia",
      "unit": "B2",
      "lat": -37.764464,
      "lng": 144.973149
    },
    "duration_seconds": 9900,
    "service_name": "Handyman Service",
    "job_fields": [
      {
        "field_type": "service_modifier",
        "field_name": "Hanging things",
        "field_id": "1571070716577x396825217377501200",
        "input_method": "checkboxes",
        "order": 1,
        "editable_quantity": true,
        "selected_options": [
          {
            "text": "TV Mounting",
            "id": "1571070716577x494955286296789000",
            "parent_section_id": "1571070716577x396825217377501200",
            "metadata_value": null,
            "price": 100,
            "quantity": 2,
            "total_price": 200,
            "duration": 2700,
            "total_duration": 5400
          },
          {
            "text": "Picture/fine art hanging",
            "id": "1571070803683x735663189819129900",
            "parent_section_id": "1571070716577x396825217377501200",
            "metadata_value": null,
            "price": 119,
            "quantity": 1,
            "total_price": 119,
            "duration": 2700,
            "total_duration": 2700
          }
        ]
      },
      {
        "field_type": "service_modifier",
        "field_name": "Interior",
        "field_id": "1571070924929x295284963700637700",
        "input_method": "radio_buttons",
        "order": 3,
        "editable_quantity": false,
        "selected_options": [
          {
            "text": "Interior Door Repair: hinges, closing, etc",
            "id": "1571071022450x346495445726658560",
            "parent_section_id": "1571070924929x295284963700637700",
            "comments": null,
            "price": 125,
            "quantity": 1,
            "total_price": 125,
            "duration": 0,
            "total_duration": 0
          }
        ]
      },
      {
        "field_type": "intake",
        "field_name": "Pictures?",
        "field_id": "1571071048844x786265051788214300",
        "input_method": "image_upload",
        "order": 4,
        "editable_quantity": false,
        "selected_options": [
          {
            "image": "https://s3.amazonaws.com/...png",
            "parent_section_id": "1571071048844x786265051788214300",
            "comments": "This is a \"neat\" photo!"
          }
        ]
      },
      {
        "field_type": "service_modifier",
        "field_name": "Custom Line items",
        "input_method": "custom_line_item",
        "order": 99,
        "editable_quantity": false,
        "selected_options": [
          {
            "text": "early bird service fee",
            "id": "1571382447070x565300114523422700",
            "price": 19,
            "quantity": 1,
            "total_price": 19,
            "duration": 0,
            "total_duration": 0
          }
        ]
      }
    ],
    "job_notes": "Call when on the way. First time customer",
    "job_number": "#002202-4",
    "service_territory": "1571029455936x927426070375515900",
    "id": "1571382643450x202948477110764130",
    "customer": {
      "name": "Fiona Apple",
      "phone": "+6134343434",
      "email": "[email protected]",
      "accepts_sms": false,
      "accepts_email": true,
      "notes": "no relation to the computer company"
    },
    "recurring_booking": {
      "is_recurring": true,
      "recurring_frequency_name": "Weekly",
      "recurring_interval_days": 7,
      "job_instance": 4,
      "recurring_booking_id": "1571382547065x870725811325131500"
    },
    "service_providers": [
      "1571029440829x796978779967228800"
    ],
    "invoice": {
      "subtotal": 528,
      "discount_amount": 52.8,
      "coupon_amount": null,
      "total_tax": 0,
      "total_price": 475.2,
      "stripe_customer_id": null,
      "paid": false
    }
  }


Attributes

start_date string

  • The job's scheduled start date and time in UTC

end_date string

  • The job's scheduled end date and time in UTC

  • Calculated by adding the job's duration to the job's start_date

time_slot object

  • type string - the timeslot format; the value can either be "arrival_window" or "specific_time"

  • name string - the human-readable time slot value in the job's timezone, as shown to customers

  • start_time string - the slot's start time in the job's time zone, using a 24-hour clock

  • end_time  string  - the slot's end time in the job's time zone, using a 24-hour clock NOTE: only present if the slot is an arrival window

  • arrival_window_length  integer - the duration of the arrival window, in hours, from start_time to end_time. If time_slot.type is specific_time, then the value will be 0

status  string

  • The job's current status. Possible values are: scheduled (default), en-route, and complete 

created_by  string 

  • Shows if a job was scheduled by a customer online or created from the admin page. Possible values are: staff or customer

timezone  string 

  • The timezone of the service territory where the job occurs

location  object

  • address  string - formatted street address where the job takes place

  • unit string - the apartment, unit, floor, or flat number (optional)

job_fields array of objects
Stores the metadata of selected service modifiers and completed intake questions.

  • field_type  string - indicates whether the field is an intake question (intake) or a service modifier (service_modifier)

  • field_name  string - the title of the service modifier or intake question

  • input_method  string - the visual way this job field is presented to customers in the booking form

  • order  integer - the order this job field was shown to customers on the booking form

  • editable_quantity  boolean - indicates whether customers can adjust the quantity of the selected option

  • selected_options  array of objects

selected_options  array of objects
Stores the customer's selected options for service modifiers and intake questions.

  • text  string - the text value of the option. The input can come from the user typing it in a text box or selecting it from a list of options

  • comments  string - optional comments from customers who have chosen this option

  • price  number - the price of the option

  • duration  integer - the option's duration in seconds

  • quantity integer - the quantity selected for this option if the quantity was editable; otherwise, it defaults to 1

  • total_price number - the price multiplied by the quantity 

  • total_duration integer - the duration multiplied by the quantity

  • image string - if the input_method was image_upload, this is the URL to access the image

  • hex_color string - if the input_method was a color choice, this is the hex color code of the selected option



Did this answer your question?