You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: changelog.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -274,7 +274,7 @@ Previously there was a limit of 366 occurrences when creating recurring bookings
274
274
275
275
When verification is required the attribute of the verification method is required to complete a booking with `confirm=false`. So if SMS verification is used then `phone_number` is a required field for `person_attributes`. This now also applies when specifying a `person_id`, so a person without a phone number will not be able to initiate the verification process.
276
276
277
-
In general it is advisable to only specify `person_id` when you have authenticated this person. In all other cases you should supply `person_attributes` so MakePlans can match and verify the person using the supplied values.
277
+
In general it is advisable to only specify `person_id` when you have authenticated this person. In all other cases you should supply `person_attributes` so Makeplans can match and verify the person using the supplied values.
278
278
279
279
Endpoint affected: POST `/bookings/?confirm=false`
Copy file name to clipboardExpand all lines: examples.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Examples
2
2
3
-
There are two ways of using the MakePlans API:
3
+
There are two ways of using the Makeplans API:
4
4
5
5
## Public API (For direct communication on website with JavaScript)
6
6
@@ -10,7 +10,7 @@ If you are implementing a custom booking experience on your website using JavaSc
10
10
11
11
## Private API (For backend integration)
12
12
13
-
To configure your account using the API you need to authenticate with our private API. It will give you full control over your account just as the administration system. So you can create new services, define opening hours and fully manage all appointments as well as customers. You can also use this create a custom booking experience on your website as long as the API communication from your server. In that case there are ways of limiting availability and bookings in the same was as the public booking site. If you do not specify this limitation your API calls will have full access to the calendar, which is useful when creating an integration that will synchronize your internal application with MakePlans.
13
+
To configure your account using the API you need to authenticate with our private API. It will give you full control over your account just as the administration system. So you can create new services, define opening hours and fully manage all appointments as well as customers. You can also use this create a custom booking experience on your website as long as the API communication from your server. In that case there are ways of limiting availability and bookings in the same was as the public booking site. If you do not specify this limitation your API calls will have full access to the calendar, which is useful when creating an integration that will synchronize your internal application with Makeplans.
This is the first example where you will differentiate the request since the goal is to implement a custom booking site. The MakePlans booking site operates based on many settings and rules that define availability. Naturally existing bookings is taken into account so you do not get double bookings (it is possible to add double bookings, but not from the public booking site). And then there is the availability set for the resources; standard opening hours and opening hours set on specific dates. In addition you can set certain rules for when booking is allowed, for example only 2 months ahead or not the same day. You can also set the booking site to be closed during national holidays.
157
-
But back to the API. When you make a request to create a new booking in the private API we will ignore most of these rules. These rules are only applicable on the public booking site. So it is very important that you add `public_booking=true` to the request to ensure booking are only allowed during the rules and availability you set on your account and resources. Unless you are authenticated your customers in your app it is also recommended that you let MakePlans handle verification. We will send an SMS that the customer needs to verify to confirm the booking.
156
+
This is the first example where you will differentiate the request since the goal is to implement a custom booking site. The Makeplans booking site operates based on many settings and rules that define availability. Naturally existing bookings is taken into account so you do not get double bookings (it is possible to add double bookings, but not from the public booking site). And then there is the availability set for the resources; standard opening hours and opening hours set on specific dates. In addition you can set certain rules for when booking is allowed, for example only 2 months ahead or not the same day. You can also set the booking site to be closed during national holidays.
157
+
But back to the API. When you make a request to create a new booking in the private API we will ignore most of these rules. These rules are only applicable on the public booking site. So it is very important that you add `public_booking=true` to the request to ensure booking are only allowed during the rules and availability you set on your account and resources. Unless you are authenticated your customers in your app it is also recommended that you let Makeplans handle verification. We will send an SMS that the customer needs to verify to confirm the booking.
158
158
159
-
Please note: MakePlans will automatically match email and phone number to existing customer profile.
159
+
Please note: Makeplans will automatically match email and phone number to existing customer profile.
The booking is now confirmed. MakePlans will now send an SMS confirmation to the customer (based on account settings, you can also set this per request).
335
+
The booking is now confirmed. Makeplans will now send an SMS confirmation to the customer (based on account settings, you can also set this per request).
336
336
337
337
If the customers enters an incorrect code we will return 403 status:
Copy file name to clipboardExpand all lines: readme.md
+17-17Lines changed: 17 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Documentation
2
2
3
-
This is the API documentation for MakePlans. MakePlans is an online booking application with support for appointments, classes and events. For more information about the application and its features see [makeplans.com](https://makeplans.com). All features in MakePlans are available via the API.
3
+
This is the API documentation for Makeplans. Makeplans is an online booking application with support for appointments, classes and events. For more information about the application and its features see [makeplans.com](https://makeplans.com). All features in Makeplans are available via the API.
4
4
5
5
General Information:
6
6
*[Get started](#get-started)
@@ -56,11 +56,11 @@ Limitations of the test environment:
56
56
57
57
## Public and private API
58
58
59
-
If you are planning to integrate directly from your application to MakePlans or need to modify information in MakePlans then you must use the private API. This API requires authentication with an API-key and should not be done publicly (on a website).
59
+
If you are planning to integrate directly from your application to Makeplans or need to modify information in Makeplans then you must use the private API. This API requires authentication with an API-key and should not be done publicly (on a website).
60
60
61
-
The public API is available for simple read-only operations. This is useful if you want to present information from MakePlans on your website using JavaScript. Because these operations are done on a public website you can not authenticate using your API-key. With the public API you can fetch a list of services, available timeslots and initialize the booking process.
61
+
The public API is available for simple read-only operations. This is useful if you want to present information from Makeplans on your website using JavaScript. Because these operations are done on a public website you can not authenticate using your API-key. With the public API you can fetch a list of services, available timeslots and initialize the booking process.
62
62
63
-
All requests are done over HTTPS. Each object in MakePlans has its own [endpoints](#api-endpoints).
63
+
All requests are done over HTTPS. Each object in Makeplans has its own [endpoints](#api-endpoints).
64
64
65
65
### Base API URL
66
66
@@ -114,7 +114,7 @@ Custom data is stored as key/value. All values are stored as strings but we do c
114
114
115
115
Only the private API requires authentication. If you intend to use the API on a website please use the [public API](#public-and-private-api) which does not require authenticaiton.
116
116
117
-
Use your account API-Key to authenticate with the MakePlans API. First enable the API on the account and you will find the API-Key in the account settings.
117
+
Use your account API-Key to authenticate with the Makeplans API. First enable the API on the account and you will find the API-Key in the account settings.
118
118
119
119
Send the API-Key as a Bearer token using the HTTP Authorization header.
Synchronising data is hard. Please ensure you test before releasing to production. First pick either MakePlans or the other system as a master. If the other system is chosen as a master then we recommend enabling the 'confirmation by administrator' setting for bookings. The synchronisation should then retrieve unprocessed bookings and process them (confirm/decline). This will ensure you can handle any changes occurred in the other system since the last synchronisation with MakePlans. New unprocessed bookings must be processed often (every 1-5 minutes) to ensure confirmations are sent out quickly to the end-user after requesting a new reservation.
213
+
Synchronising data is hard. Please ensure you test before releasing to production. First pick either Makeplans or the other system as a master. If the other system is chosen as a master then we recommend enabling the 'confirmation by administrator' setting for bookings. The synchronisation should then retrieve unprocessed bookings and process them (confirm/decline). This will ensure you can handle any changes occurred in the other system since the last synchronisation with Makeplans. New unprocessed bookings must be processed often (every 1-5 minutes) to ensure confirmations are sent out quickly to the end-user after requesting a new reservation.
214
214
215
-
**NEVER** delete any data in MakePlans to make it easier to adapt to the other system. MakePlans is a customer facing booking application. End-users (stored as people) can change and cancel bookings, thus any modifications or destruction of core data should not occur. Bookings are stored with a history (log) and there is a link between a person and bookings. MakePlans make use of this data and all this data must be kept to ensure the booking process in MakePlans works as expected for the end-user.
215
+
**NEVER** delete any data in Makeplans to make it easier to adapt to the other system. Makeplans is a customer facing booking application. End-users (stored as people) can change and cancel bookings, thus any modifications or destruction of core data should not occur. Bookings are stored with a history (log) and there is a link between a person and bookings. Makeplans make use of this data and all this data must be kept to ensure the booking process in Makeplans works as expected for the end-user.
216
216
217
217
Expect all booking and person data to be changed at any time. All changes for an object will result in a updated attribute `updated_at`.
218
218
219
219
We recommend storing a timestamp retrieved from the more recently updated item from `updated_at`. When the synchronisation is performed again this timestamp can be used to fetch any changes on the `updated_at` attribute for the object you want to retrieve (e.g. the parameter `since` for bookings).
220
220
221
221
## API libraries
222
222
223
-
MakePlans does not officially support API libraries but they might be useful for you. Please note that these projects are **not** made by MakePlans but made publicly available by other developers who have used the MakePlans API. Any questions should be made directly to the responsible developers. If you find any errors or areas of improvement please make a pull request to improve the project.
223
+
Makeplans does not officially support API libraries but they might be useful for you. Please note that these projects are **not** made by Makeplans but made publicly available by other developers who have used the Makeplans API. Any questions should be made directly to the responsible developers. If you find any errors or areas of improvement please make a pull request to improve the project.
224
224
225
225
*[NodeJS by Mable](https://github.com/mableteam/makeplans).
226
-
*[CakePHP by Pollenizer](https://github.com/Pollenizer/CakePHP-MakePlans-Plugin).
226
+
*[CakePHP by Pollenizer](https://github.com/Pollenizer/CakePHP-Makeplans-Plugin).
227
227
*[Go by drewwells](https://github.com/drewwells/makeplans).
228
228
229
229
A big thanks to everyone who has contributed to these libraries!
230
230
231
231
## Webhooks
232
232
233
233
A webhook is simply a user-defined callback in the form of an HTTP POST which is invoked when something happens.
234
-
So for example whenever a new booking is created in MakePlans we can send a POST request to the URL you specify. The response will include data about the modified object.
234
+
So for example whenever a new booking is created in Makeplans we can send a POST request to the URL you specify. The response will include data about the modified object.
235
235
236
236
### Payload
237
237
@@ -282,7 +282,7 @@ You can use wildcard to trigger all or grouped events: `*` or `booking.*`
282
282
283
283
#### Verify payload signature
284
284
285
-
We include a `X-MakePlans-Signature` header in the webhook request. Use this to verify the request body to ensure the request is from MakePlans and signed with your account secret. The header includes details about the signature and the signature itself. We use HMAC SHA-256 to compute this signature.
285
+
We include a `X-MakePlans-Signature` header in the webhook request. Use this to verify the request body to ensure the request is from Makeplans and signed with your account secret. The header includes details about the signature and the signature itself. We use HMAC SHA-256 to compute this signature.
@@ -298,9 +298,9 @@ We will retry after any 4xx or 5xx http status response. Maximum retries are 5.
298
298
299
299
## Slots
300
300
301
-
Slots are not physical objects in MakePlans. It is a virtual representation of available times based on attributes from resources and services as well as various settings. So if a resource is open 8am to 4pm and selected service has interval of 60 minutes, slots will return an array of all time intervals (8am-9am, 9am-10am etc.) and indicate which resources are available.
301
+
Slots are not physical objects in Makeplans. It is a virtual representation of available times based on attributes from resources and services as well as various settings. So if a resource is open 8am to 4pm and selected service has interval of 60 minutes, slots will return an array of all time intervals (8am-9am, 9am-10am etc.) and indicate which resources are available.
302
302
303
-
Slots are meant for listing available times on the MakePlans booking page. You can however make bookings at any time and with any length - as long as the resource is available off course.
303
+
Slots are meant for listing available times on the Makeplans booking page. You can however make bookings at any time and with any length - as long as the resource is available off course.
304
304
305
305
### Attributes
306
306
@@ -458,7 +458,7 @@ Response
458
458
459
459
#### Normal state flow
460
460
461
-
The normal booking flow when a customer initiates a new booking starts with `awaiting_verification`. If verification is required MakePlans sends out email or SMS for the customer to verify. When successfully verified the state is updated to `confirmed` or `awaiting_confirmation` if reservations requires confirmation by administrator. For confirmation it is then updated to `confirmed` as normally if confirmed, and to `declined` if it is not confirmed.
461
+
The normal booking flow when a customer initiates a new booking starts with `awaiting_verification`. If verification is required Makeplans sends out email or SMS for the customer to verify. When successfully verified the state is updated to `confirmed` or `awaiting_confirmation` if reservations requires confirmation by administrator. For confirmation it is then updated to `confirmed` as normally if confirmed, and to `declined` if it is not confirmed.
462
462
463
463
Bookings that have been confirmed and then cancelled, either by customer or administrator, are set to `cancelled`.
464
464
@@ -629,7 +629,7 @@ You should always specify COUNT or UNTIL with RRULE. The max number of occurrenc
629
629
630
630
#### Verify a booking with verification code
631
631
632
-
`PUT /bookings/{booking_id}/verify_code` will verify a booking using `{verification_code}`. Use this when MakePlans is used to send out verification email or SMS.
632
+
`PUT /bookings/{booking_id}/verify_code` will verify a booking using `{verification_code}`. Use this when Makeplans is used to send out verification email or SMS.
633
633
634
634
##### Additional parameters
635
635
@@ -835,7 +835,7 @@ You can search multiple columns at once, for example `email` and `phone_number`,
835
835
836
836
### Person verification with a perishable token
837
837
838
-
The purpose of this feature is to verify a new or existing person in MakePlans on your website such as "login to see your bookings". The verification can be done either using email or SMS. When successful you will have verified either an email or a phone number. Thus you can either create a new person or retrieve an existing person knowing that the person has been verified.
838
+
The purpose of this feature is to verify a new or existing person in Makeplans on your website such as "login to see your bookings". The verification can be done either using email or SMS. When successful you will have verified either an email or a phone number. Thus you can either create a new person or retrieve an existing person knowing that the person has been verified.
839
839
840
840
Please note that this token is perishable, meaning that it will be removed from and unavailable for verification after 10 minutes.
See webhook overview for a [list of events](#supported-events), wildcard usage to trigger from multiple events, and how to handle webhook events from MakePlans.
1508
+
See webhook overview for a [list of events](#supported-events), wildcard usage to trigger from multiple events, and how to handle webhook events from Makeplans.
0 commit comments