Webhooks¶
Your Checkfront account is capable of directly POSTing details of new or modified bookings to your SSL-secured server endpoint.
Notifications are sent over a standard HTTPS POST request in the form of a JSON or XML formatted booking object containing various particulars on a booking, and can be triggered to send on one or more status changes you as defined in the setup.
Webhook setup can be found in the Manage > Developer section of your Checkfront account under the “Webhooks” tab.
Notification Data¶
An XML or JSON object containing the following export fields can be found in directly in the raw body of the POST request to your server:
booking¶
| Field | Type | Description |
|---|---|---|
| status | string | The current status code of the booking. |
| code | string | A unique booking code used to refer to the booking. |
| created_date | timestamp | The date on which the booking was created. |
| staff_id | integer | Account ID of the staff account used to create the booking. |
| source_ip | string | The IP address used to create the booking. |
| start_date | timestamp | The start date/time of the booking, based on order items. |
| end_date | timestamp | The end date/time of the booking, based on order items. |
| customer | array | Customer details attached to the booking. See booking.customer below. |
| meta | array | A set of fields containing your custom parameters and other info. |
| order | array | Details on booking items and payment. See booking.order below. |
booking.customer¶
Field Type Description name string The customer’s full name. string The customer’s email address. address string The customer’s street address. region string The customer’s province or state. country string The customer’s country of residence. postal_zip string The customer’s postal or zip code. phone string The customer’s phone number.
booking.order¶
Field Type Description sub_total float The sub-total of all charges added to the order. paid_total float The total amount the customer has paid on the order. total float The total of all charges and taxes added to the order. tax_total float The sum of all taxes applied to the order. taxes array Individual taxes that have been applied to the order, their names, and amounts. discount float The amount that has been discounted from the order total (if applicable). items array Details on items included in the order. See booking.order.items.item below.
booking.order.items.item¶
An entry for each item in the booking exists will contain following fields:
Field Type Description start_date timestamp The start date of the booking item. end_date timestamp The end date of the booking item. sku string The unique stock keeping unit of the item. slip string The booking slip attached to the item. package integer The package the item belongs to (if applicable). status string The booking status of the item. total float The total price of the booking item. tax_total float The sum of taxes applied to this item. qty integer The quantity of this item in the booking.
Sample Notification¶
JSON¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | {
"@attributes": {
"version": "3.0",
"host": "your-company.checkfront.com"
},
"booking": {
"@attributes": {
"booking_id": "157"
},
"status": "HOLD",
"code": "KMVQ-060314",
"created_date": "1394156618",
"staff_id": "1",
"source_ip": "66.228.55.142",
"start_date": "1394128800",
"end_date": "1394128800",
"customer": {
"name": "Your Customer",
"email": "support@checkfront.com",
"region": "BC",
"address": "170-422 Richards Street",
"city": "Vancouver",
"country": "CA",
"phone": "1 (800) 559-0985",
"postal_zip": "V6B 2Z4"
},
"meta": {
"note": "Free icecream!",
"mobile_device": {}
},
"order": {
"@attributes": {
"currency_id": "CAD"
},
"sub_total": "46.00",
"tax_total": "2.30",
"paid_total": "0.00",
"total": "48.30",
"taxes": {
"tax": {
"@attributes": {
"tax_id": "6"
},
"name": "GST",
"amount": "2.30"
}
},
"items": {
"item": [{
"@attributes": {
"line_id": "1",
"item_id": "6"
},
"start_date": "1394128800",
"end_date": "1394128800",
"sku": "paddle",
"slip": {},
"package_id": "1",
"status": "HOLD",
"total": "6.30",
"tax_total": "0.30",
"qty": "2"
}, {
"@attributes": {
"line_id": "2",
"item_id": "8"
},
"start_date": "1394092800",
"end_date": "1394092800",
"sku": "paddleboard",
"slip": {},
"package_id": "1",
"status": "HOLD",
"total": "42.00",
"tax_total": "2.00",
"qty": "2"
}]
}
}
}
}
|
XML¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | <?xml version="1.0" ?>
<checkfront-notify version="3.0" host="your-company.checkfront.com">
<booking booking_id="157">
<status>HOLD</status><code>KMVQ-060314</code>
<created_date>1394156618</created_date>
<staff_id>1</staff_id>
<source_ip>66.228.55.142</source_ip>
<start_date>1394128800</start_date>
<end_date>1394128800</end_date>
<customer>
<name>Your Customer</name>
<email>support@checkfront.com</email>
<region>BC</region>
<address>170-422 Richards Street</address>
<city>Vancouver</city>
<country>CA</country>
<phone>1 (800) 559-0985</phone>
<postal_zip>V6B 2Z4</postal_zip>
</customer>
<meta>
<note>Free icecream!</note>
<mobile_device></mobile_device>
</meta>
<order currency_id="EUR">
<sub_total>46.00</sub_total>
<tax_total>2.30</tax_total>
<paid_total>0.00</paid_total>
<total>48.30</total>
<taxes>
<tax tax_id="6">
<name>GST</name>
<amount>2.30</amount>
</tax>
</taxes>
<discount>0.00</discount>
<items>
<item line_id="1" item_id="6">
<start_date>1394128800</start_date>
<end_date>1394128800</end_date>
<sku>paddle</sku>
<slip/>
<package_id>1</package_id>
<status>HOLD</status>
<total>6.30</total>
<tax_total>0.30</tax_total>
<qty>2</qty>
</item>
<item line_id="2" item_id="8">
<start_date>1394092800</start_date>
<end_date>1394092800</end_date>
<sku>paddleboard</sku>
<slip/>
<package_id>1</package_id>
<status>HOLD</status>
<total>42.00</total>
<tax_total>2.00</tax_total>
<qty>2</qty>
</item>
</items>
</order>
</booking>
</checkfront-notify>
|