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'sstart_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 customersstart_time
string - the slot's start time in the job's time zone, using a 24-hour clockend_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 windowarrival_window_length
integer - the duration of the arrival window, in hours, from start_time to end_time. Iftime_slot
.type
isspecific_time
, then the value will be 0
status
string
The job's current status. Possible values are:
scheduled
(default),en-route
, andcomplete
created_by
string
Shows if a job was scheduled by a customer online or created from the admin page. Possible values are:
staff
orcustomer
timezone
string
The timezone of the service territory where the job occurs
location
object
address
string - formatted street address where the job takes placeunit
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 questioninput_method
string - the visual way this job field is presented to customers in the booking formorder
integer - the order this job field was shown to customers on the booking formeditable_quantity
boolean - indicates whether customers can adjust the quantity of the selected optionselected_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 optionscomments
string - optional comments from customers who have chosen this optionprice
number - the price of the optionduration
integer - the option's duration in secondsquantity
integer - the quantity selected for this option if the quantity was editable; otherwise, it defaults to 1total_price
number - the price multiplied by the quantitytotal_duration
integer - the duration multiplied by the quantityimage
string - if the input_method was image_upload, this is the URL to access the imagehex_color
string - if the input_method was a color choice, this is the hex color code of the selected option