Add Booking Capabilities To Your Business Listings

Drive user engagement with appointment scheduling

Make your website or app more relevant, engaging and profitable by providing the action your users wish to take upon discovering local businesses. Our API lets you easily include a "Book Now" button directly in your listings, allowing your users to schedule appointments in real-time, day or night.

Booking API

The Pingup API gives you access to all the booking data you need to build and deploy scheduling capabilities to your audience of users. Learn more

Web Affiliate Widget

Coming Soon: Quickly and simply deploy scheduling capabilities to your audience of users by leveraging our customizable affiliate web-booking flow widgets.

Mobile App SDK for iOS

Coming Soon: Integrate scheduling flows directly within your native mobile application(s) by leveraging our Booking SDK and API.

Booking API Documentation

Synopsis

The Pingup API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and to use HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP verbs, which can be understood by off-the-shelf HTTP clients, and we support cross-origin resource sharing to allow you to interact securely with our API from a client-side web application. JSON will be returned in all responses from the API, including errors and meta data.

Base URL

All URLs referenced in the documentation have the following base:

https://api.pingup.com

Connecting

Authentication

To make the Pingup API as explorable as possible, accounts have sandbox-mode API keys as well as production-mode API keys.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. You must authenticate for all requests.

Generate Token

1. Obtain an access token

Before your application can access the Pingup API, it must obtain an access token.

Access tokens allow apps to make requests to the Pingup API. Each access token is unique to the consumer API key. Access tokens have limited lifetimes. If your application needs access to the Pingup API beyond the lifetime of a single access token, it can obtain a refresh token. A refresh token allows your application to obtain new access tokens.

2. Send the access token to the API

After an application obtains an access token, it sends the token to the Pingup API in an HTTP authorization header. Pingup does not support sending tokens as URI query-string parameters.

3. Refresh the access token, if necessary

Access tokens have limited lifetimes. If your application needs access to the Pingup API beyond the lifetime of a single access token, it can obtain a refresh token. A refresh token allows your application to obtain new access tokens.

Note: Save refresh tokens in secure long-term storage and continue to use them as long as they remain valid. If your application requests enough refresh tokens to go over one of the limits, older refresh tokens stop working.

The Pingup API uses the OAuth 2.0 protocol for authentication and authorization. Pingup supports common OAuth 2.0 scenarios such as those for web server, installed, and client-side applications.

All calls must be signed with an access token.

To generate a token, make an HTTP POST request to:

/auth/generateTokens

Required parameters:
Parameter Description
key This is your API key
secret This is your Secret
Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "token":    {
      "accessToken": "upc8ecq624nfvqk9eqll8q7aaq",
      "tokenExpiration": 1400057120518,
      "refreshToken": "d0vfb1d4qtr39kea7vjvaakc5n"
   }
}
						  

Refresh Token

To generate a new token when the previous one expires, make an HTTP PUT request to:

/auth/refreshToken

Required parameters:
Parameter Description
secret This is your Secret
token This is your Refresh Token
Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },

   "token":    {
      "accessToken": "c214l8hi6c562dr3rjf0co6ql4",
      "tokenExpiration": 1400057098704,
      "refreshToken": "v5ahkg5hvuel9jdtvu7qtr0bk7"
   }
}
						  

Places

Places (Businesses) available for online booking. To receive a list of places, make an HTTP GET request to:

/v1/places

Optional parameters for pagination:
Parameter Description
offset This offsets the start of each page by the number specified. Default value: 0
limit This is the number of individual objects that are returned in each page. Default value: 20. Maximum value: 50
Optional parameters for search:
Parameter Description
name Place/Business name
street Address number and street name
locality City, town or equivalent
region State, province, territory, or equivalent
postCode Postcode or equivalent (zipcode in US)
country Two letter ISO Country Code
latitude Latitude in decimal degrees
longitude Longitude in decimal degrees
radius Search radius in kilometers. Default value: 30
category Comma separeted list of category ids
modifiedSince Search returns only places modified after this date. Format: 'yyyy-mm-dd'
factualId Corresponding Factual ID
userId User ID
Request example:

https://api.pingup.com/v1/places?offset=0&limit=20

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK",
      "totalResults": 11715,
      "offset": 0,
      "limit": 20,
      "prev": "",
      "next": "https://api.pingup.com/v1/places?offset=20&limit=20"
   },
   "places":    [{
         "id": "20231",
         "name": "Tracy Anderson Method NYC",
         "phoneNumber": "2129651408",
         "webSite": "http://www.tracyandersonmethod.com",
         "description": "With years of research based on her former training as a dancer, Tracy has developed her very own unique approach to fitness. Her method for transforming the body is based on targeting the accessory muscles (the small muscle groups). Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. This results in a lean figure without the extra bulk - which gives women a tiny dancer body and men a skinny ripped body.",
         "logoUrl": "http://booknow.pingup.com/l/1374767164507/3229_Tracy-Anderson-Method-NYC.png",
         "pingupUrl": "http://booknow.pingup.com/b/1374767164507",
         "lastModified": null,
         "categories": [
           {
             "id": "791",
	     "parentId": "486",
             "name": "Healthcare",
             "fullName": "Healthcare"
           },
           {
             "id": "1256",
	     "parentId": "1226",
             "name": "Health and Diet Food",
             "fullName": "Retail > Food and Beverage > Health and Diet Food"
           }
         ],
	"address": {
            "addressLine1": "24 Hubert Street",
            "addressLine2": null,
            "locality": "New York",
            "region": "NY",
            "postCode": "10013",
            "country":             {
               "abbreviation": "US",
               "name": "United States"
            },
            "geo":             {
               "latitude": 40.7215035,
               "longitude": -74.0101024
            },
            "timeZone": null
         },
		"bookingType": ["APPOINTMENT"],
		"factualId": null
      },
   ...
   ]}
						  

To get one place, make an HTTP GET request to:

/v1/places/{placeId}

Resource parameters:
Parameter Description
placeId Place ID
Request example:

https://api.pingup.com/v1/places/20231

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "place":    {
      "id": "20231",
      "name": "Tracy Anderson Method NYC",
      "phoneNumber": "2129651408",
      "webSite": "http://www.tracyandersonmethod.com",
      "description": "With years of research based on her former training as a dancer, Tracy has developed her very own unique approach to fitness. Her method for transforming the body is based on targeting the accessory muscles (the small muscle groups). Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. This results in a lean figure without the extra bulk - which gives women a tiny dancer body and men a skinny ripped body.",
      "logoUrl": "http://booknow.pingup.com/l/1374767164507/3229_Tracy-Anderson-Method-NYC.png",
      "pingupUrl": "http://booknow.pingup.com/b/1374767164507",
      "lastModified": null,
      "categories": [
           {
             "id": "791",
	     "parentId": "486",
             "name": "Healthcare",
             "fullName": "Healthcare"
           },
           {
             "id": "1256",
	     "parentId": "1226",
             "name": "Health and Diet Food",
             "fullName": "Retail > Food and Beverage > Health and Diet Food"
           }
      ],
      "address": {
         "addressLine1": "24 Hubert Street",
         "addressLine2": null,
         "locality": "New York",
         "region": "NY",
         "postCode": "10013",
         "country":          {
            "abbreviation": "US",
            "name": "United States"
         },
         "geo":          {
            "latitude": 40.7215035,
            "longitude": -74.0101024
         },
         "timeZone": null
      },
      "bookingType": ["APPOINTMENT"],
      "factualId": null
   }
}
						  

Services

Each place offers a set of services that can be booked online (menu). To receive a list of services for a business, make an HTTP GET request to:

/v1/places/{placeId}/services

Resource parameters:
Parameter Description
placeId Place ID
Request example:

https://api.pingup.com/v1/places/20231/services

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "services":    [{
         "id": "12251-215578",
         "type": null,
         "category": "Fitness",
         "description": null,
         "name": "Tracy Anderson Connect",
         "duration": 120,
         "price":          {
            "type": "EXACT",
            "amount": "0.0",
            "description": null,
            "currency": "USD"
         }
      },
   ...
   ]}
						  

Personnel

Each service can be offered by one or more business personnel. To receive a list of personnel for a particular service, make an HTTP GET request to:

/v1/places/{placeId}/services/{serviceId}/personnel

Resource parameters:
Parameter Description
placeId Place ID
serviceId Service ID
Request example:

https://api.pingup.com/v1/places/20231/services/12251-215578/personnel

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "personnel":    [{
         "id": "41316",
         "fullName": "Tracy",
	 "gender": "FEMALE",
         "description": null
      },
   ...
   ]
}
						  

Time Slots

TimeSlots represent available booking times for each service. To receive a list of available time slots for a given time period, make an HTTP GET request to:

/v1/places/{placeId}/services/{serviceId}/timeSlots

Resource parameters:
Parameter Description
placeId Place ID
serviceId Service ID
Required parameters:
Parameter Description
startTime Start date for the listing of the time slots. Format of this parameter is 'yyyy-mm-dd'. It must be passed in the route.
endTime End date for the listing of the time slots.The difference between this parameter and 'startTime' must not be bigger than seven days. Format of this parameter is 'yyyy-mm-dd'. It must be passed in the route.
Optional parameters:
Parameter Description
personnelId Id of the personnel performing the service. If this parameter is used, all time slots of the specified personnel will be returned. It must be passed in the route.
Request example:

https://api.pingup.com/v1/places/20231/services/12251-215578/timeSlots?startTime=2014-05-09&endTime=2014-05-15&personnelId=41316

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "time_slots":    [{
         "personnelId": "41300",
         "duration": 120,
         "startTime": "2014-04-15T06:00",
         "timeZone": "-0400",
         "price":          {
            "type": "EXACT",
            "amount": "0.0",
            "description": null,
            "currency": "USD"
         }
      },
   ...
   ]}
						  

Users

To create a new user, make an HTTP POST request to:

/v1/users

Required parameters:
Parameter Description
firstName First name of the user. It is passed in the body.
lastName Last name of the user. It is passed in the body.
phoneNumber Phone number of the user. It is passed in the body.
email E-mail of the user. It is passed in the body.
Body:
{
  "firstName":"Joe",
  "lastName":"Doe",
  "phoneNumber":"(555) 555-5555",
  "email":"joe@example.com"
}
						  
Request example:

https://api.pingup.com/v1/users

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "user":    {
    "id": "o1d9bmi8g4b4cgu79rl0bj4p2i",
    "firstName":"Joe",
    "lastName":"Doe",
    "phoneNumber":"(555) 555-5555",
    "email":"joe@example.com"
   }
}
						  

To get one user, make an HTTP GET request to:

/v1/users/{userId}

Resource parameters:
Parameter Description
userId User ID
Request example:

https://api.pingup.com/v1/users/4e2lqpb1v92seb6ttjgqd0ldev

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "user":    {
      "id": "4e2lqpb1v92seb6ttjgqd0ldev",
      "firstName":"Joe",
      "lastName":"Doe",
      "phoneNumber":"(555) 555-5555",
      "email":"joe@example.com"
   }
}
						  

To edit an user, make an HTTP PUT request to:

/v1/users/{userId}

Resource parameters:
Parameter Description
userId User ID
Optional parameters:
Parameter Description
firstName First name of the user. It is passed in the body.
lastName Last name of the user. It is passed in the body.
phoneNumber Phone number of the user. It is passed in the body.
email E-mail of the user. It is passed in the body.
Body:
{
    "firstName":"Joe",
    "lastName":"Doe",
    "phoneNumber":"(555) 555-5555",
    "email":"joe@example.com"
}
						  
Request example:

https://api.pingup.com/v1/users/4e2lqpb1v92seb6ttjgqd0ldev

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "user":    {
      "id": "4e2lqpb1v92seb6ttjgqd0ldev",
      "firstName":"Joe",
      "lastName":"Doe",
      "phoneNumber":"(555) 555-5555",
      "email":"joe@example.com" 
    }
}
						  

To delete an user, make an HTTP DELETE request to:

/v1/users/{userId}

Resource parameters:
Parameter Description
userId User ID
Request example:

https://api.pingup.com/v1/users/4e2lqpb1v92seb6ttjgqd0ldev

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "user":    {
      "id": "4e2lqpb1v92seb6ttjgqd0ldev",
      "firstName":"Joe",
      "lastName":"Doe",
      "phoneNumber":"(555) 555-5555",
      "email":"joe@example.com"
   }
}
						  

Appointments

To create a new appointment, make an HTTP POST request to:

/v1/appointments

Required parameters:
Parameter Description
body Appointment resource. It contains 'placeId', 'serviceId', 'userId' and available 'timeSlot'
Body:
{

    "placeId": "20231",
    "serviceId": "12276-843962",
    "userId": "io8bg91p45nv6fbu5h8i9sseu3",
        "timeSlot":  {
      "personnelId": "120475",
      "duration": 75,
      "startTime": "2014-05-15T07:30",
      "timeZone": "-0400",
      "price": {
        "type": "EXACT",
        "amount": "115.0",
        "description": null,
        "currency": "USD"
      }
    }
}
						  
Request example:

https://api.pingup.com/v1/appointments

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
 "appointment":    {
      "id": "btm43a5n4a35c66uu6j9gamk339",
      "status": "SCHEDULED",
      "placeId": "20231",
      "startTime": "2014-05-15T07:30",
      "endTime": "2014-05-15T08:45",
      "timeZone": "-0400",
      "customer":       {
         "email": "joe@example.com",
         "firstName": "Joe",
         "lastName": "Doe",
         "phoneNumber": "(555) 555-5555"
      },
      "personnel":       {
         "id": "120475",
         "fullName": "Maureen",
	 "gender": "FEMALE",
         "description": "Licensed aesthetician\r\nAdvanced lash certified \r\n\r\n"
      },
      "service":       {
         "id": "12276-843962",
         "type": "APPOINTMENT",
         "category": "Facials",
         "description": "This Galvanic treatment uses negatively charged gel and current to loosen dead skin, oils and dirt from the epidermis. Positively charged gel rich with nutrients is then forced into the deep layers of the skin with a positive current. This is a wonderful way to fresh and lighten ones appearance, giving results you can truly see, Most also see improvement in the muscle and skin tone in just one treatment! ",
         "name": "Weekly Galvanic Facial Treatment",
         "duration": 20,
         "price":          {
            "type": "EXACT",
            "amount": "115.0",
            "description": null,
            "currency": "USD"
         }
      },
      "place": {
         "id": "20231",
         "name": "Tracy Anderson Method NYC",
         "phoneNumber": "2129651408",
         "webSite": "http://www.tracyandersonmethod.com",
         "description": "With years of research based on her former training as a dancer, Tracy has developed her very own unique approach to fitness. Her method for transforming the body is based on targeting the accessory muscles (the small muscle groups). Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. This results in a lean figure without the extra bulk - which gives women a tiny dancer body and men a skinny ripped body.",
         "logoUrl": "http://booknow.pingup.com/l/1374767164507/3229_Tracy-Anderson-Method-NYC.png",
         "pingupUrl": "http://booknow.pingup.com/b/1374767164507",
         "lastModified": null,
         "categories": [
           {
             "id": "791",
	     "parentId": "486",
             "name": "Healthcare",
             "fullName": "Healthcare"
           },
           {
             "id": "1256",
	     "parentId": "1226",
             "name": "Health and Diet Food",
             "fullName": "Retail > Food and Beverage > Health and Diet Food"
           }
         ],
  "address": {
            "addressLine1": "24 Hubert Street",
            "addressLine2": null,
            "locality": "New York",
            "region": "NY",
            "postCode": "10013",
            "country":             {
               "abbreviation": "US",
               "name": "United States"
            },
            "geo":             {
               "latitude": 40.7215035,
               "longitude": -74.0101024
            },
            "timeZone": null
         },
    "bookingType": ["APPOINTMENT"],
    "factualId": null
      }
   }
}
						  

To get a list of appointments, make an HTTP GET request to:

/v1/appointments

Required parameters:
Parameter Description
userId User ID
Optional parameters:
Parameter Description
offset This offsets the start of each page by the number specified. Default value: 0
limit This is the number of individual objects that are returned in each page. Default value: 20. Maximum value: 50
status This is the appointment status. Possible values are: PENDING, SCHEDULED, COMPLETED, CANCELLED, NO_SHOW
dateFrom It will return only appointments that are scheduled after specified date (included that date). Format of this parameter is 'yyyy-mm-dd'
dateTo It will return only appointments that are scheduled before specified date (included that date). Format of this parameter is 'yyyy-mm-dd'
Request example:

https://api.pingup.com/v1/appointments?offset=0&limit=20userId=io8bg91p45nv6fbu5h8i9sseu3

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK",
      "totalResults": 24,
      "offset": 0,
      "limit": 20,
      "prev": "",
      "next": "https://api.pingup.com/v1/appointments?offset=20&limit=20&userId=io8bg91p45nv6fbu5h8i9sseu3"
   },
   "appointments":    [
        {
         "id": "b1ggjdnlb6e4jsi7hvmbd09aa9c",
         "status": "CANCELLED",
         "placeId": "20231",
         "startTime": "2014-05-20T11:00",
         "endTime": "2014-05-20T11:20",
         "timeZone": "-0500",
         "customer":          {
            "customerId": "1",
            "email": "joe@example.com",
            "firstName": "Joe",
            "lastName": "Doe",
            "phoneNumber": "(555) 555-5555"
         },
         "personnel":          {
            "id": "241508",
            "fullName": "Beverly Walters",
	    "gender": "MALE",
            "description": null
         },
         "service":          {
            "id": "12486-211888",
            "type": "APPOINTMENT",
            "category": "Waxing",
            "description": "Duration may vary.",
            "name": "Chin Tweezing",
            "duration": 20,
            "price":             {
               "type": "EXACT",
               "amount": "10.0",
               "description": null,
               "currency": "USD"
            }
         },
         "place": {
         "id": "20231",
         "name": "Tracy Anderson Method NYC",
         "phoneNumber": "2129651408",
         "webSite": "http://www.tracyandersonmethod.com",
         "description": "With years of research based on her former training as a dancer, Tracy has developed her very own unique approach to fitness. Her method for transforming the body is based on targeting the accessory muscles (the small muscle groups). Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. This results in a lean figure without the extra bulk - which gives women a tiny dancer body and men a skinny ripped body.",
         "logoUrl": "http://booknow.pingup.com/l/1374767164507/3229_Tracy-Anderson-Method-NYC.png",
         "pingupUrl": "http://booknow.pingup.com/b/1374767164507",
         "lastModified": null,
           {
             "id": "791",
	     "parentId": "486",
             "name": "Healthcare",
             "fullName": "Healthcare"
           },
           {
             "id": "1256",
	     "parentId": "1226",
             "name": "Health and Diet Food",
             "fullName": "Retail > Food and Beverage > Health and Diet Food"
           }
         ],
  "address": {
            "addressLine1": "24 Hubert Street",
            "addressLine2": null,
            "locality": "New York",
            "region": "NY",
            "postCode": "10013",
            "country":             {
               "abbreviation": "US",
               "name": "United States"
            },
            "geo":             {
               "latitude": 40.7215035,
               "longitude": -74.0101024
            },
            "timeZone": null
         },
    "bookingType": ["APPOINTMENT"],
    "factualId": null
      }
   },
   ...
   ]
}
						  

To get an appointment status, make an HTTP GET request to:

/v1/appointments/{appointmentId}

Resource parameters:
Parameter Description
appointmentId Appointment ID
Required parameters:
Parameter Description
userId User ID
Request example:

https://api.pingup.com/v1/appointments/b30a0g7jfmosk7mu1h4sh3iq9ie?userId=io8bg91p45nv6fbu5h8i9sseu3

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "appointment":    {
      "id": "bssnb6a2n1kec7f279a0ebs7f6p",
      "status": "CANCELLED",
      "placeId": "20231",
      "startTime": "2014-04-15T06:00",
      "endTime":  "2014-04-15T07:15",
      "timeZone": "-0400",
      "customer":       {
         "email": "joe@example.com",
         "firstName": "Joe",
         "lastName": "Doe",
         "phoneNumber": "(555) 555-5555"
      },
      "personnel":       {
         "id": "41316",
         "fullName": "Tracy Anderson",
	 "gender": "MALE",
         "description": null
      },
      "service":       {
         "id": "12251-215578",
         "type": "APPOINTMENT",
         "category": "Fitness",
         "description": null,
         "name": "Tracy Anderson Connect",
         "duration": 120,
         "price":          {
            "type": "EXACT",
            "amount": "0.0",
            "description": null,
            "currency": "USD"
         }
      },
      "place": {
         "id": "20231",
         "name": "Tracy Anderson Method NYC",
         "phoneNumber": "2129651408",
         "webSite": "http://www.tracyandersonmethod.com",
         "description": "With years of research based on her former training as a dancer, Tracy has developed her very own unique approach to fitness. Her method for transforming the body is based on targeting the accessory muscles (the small muscle groups). Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. This results in a lean figure without the extra bulk - which gives women a tiny dancer body and men a skinny ripped body.",
         "logoUrl": "http://booknow.pingup.com/l/1374767164507/3229_Tracy-Anderson-Method-NYC.png",
         "pingupUrl": "http://booknow.pingup.com/b/1374767164507",
         "lastModified": null,
         "categories": [
           {
             "id": "791",
	     "parentId": "486",
             "name": "Healthcare",
             "fullName": "Healthcare"
           },
           {
             "id": "1256",
	     "parentId": "1226",
             "name": "Health and Diet Food",
             "fullName": "Retail > Food and Beverage > Health and Diet Food"
           }
         ],
  "address": {
            "addressLine1": "24 Hubert Street",
            "addressLine2": null,
            "locality": "New York",
            "region": "NY",
            "postCode": "10013",
            "country":             {
               "abbreviation": "US",
               "name": "United States"
            },
            "geo":             {
               "latitude": 40.7215035,
               "longitude": -74.0101024
            },
            "timeZone": null
         },
    "bookingType": ["APPOINTMENT"],
    "factualId": null
      }
   }
}
						  

To cancel an appointment, make an HTTP DELETE request to:

/v1/appointments/{appointmentId}

Resource parameters:
Parameter Description
appointmentId Appointment ID
Required parameters:
Parameter Description
userId User ID
Request example:

https://api.pingup.com/v1/appointments/b30a0g7jfmosk7mu1h4sh3iq9ie?userId=io8bg91p45nv6fbu5h8i9sseu3

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK"
   },
   "appointment":    {
      "id": "bssnb6a2n1kec7f279a0ebs7f6p",
      "status": "CANCELLED",
      "placeId": "20231",
      "startTime": "2014-04-15T06:00",
      "endTime": "2014-04-15T07:15",
      "timeZone": "-0400",
      "customer":       {
         "customerId": null,
         "email": "joe@example.com",
         "firstName": "Joe",
         "lastName": "Doe",
         "phoneNumber": "(555) 555-5555"
      },
      "personnel":       {
         "id": "41316",
         "fullName": "Tracy Anderson",
	 "gender": "FEMALE",
         "description": null
      },
      "service":       {
         "id": "12251-215578",
         "type": "APPOINTMENT",
         "category": "Fitness",
         "description": null,
         "name": "Tracy Anderson Connect",
         "duration": 120,
         "price":          {
            "type": "EXACT",
            "amount": "0.0",
            "description": null,
            "currency": "USD"
         }
      },
      "place": {
         "id": "20231",
         "name": "Tracy Anderson Method NYC",
         "phoneNumber": "2129651408",
         "webSite": "http://www.tracyandersonmethod.com",
         "description": "With years of research based on her former training as a dancer, Tracy has developed her very own unique approach to fitness. Her method for transforming the body is based on targeting the accessory muscles (the small muscle groups). Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. Strengthening the accessory muscles help to create a tight knit group of small muscles that actually pull in the larger muscle groups. This results in a lean figure without the extra bulk - which gives women a tiny dancer body and men a skinny ripped body.",
         "logoUrl": "http://booknow.pingup.com/l/1374767164507/3229_Tracy-Anderson-Method-NYC.png",
         "pingupUrl": "http://booknow.pingup.com/b/1374767164507",
         "lastModified": null,
         "categories": [
           {
             "id": "791",
	     "parentId": "486",
             "name": "Healthcare",
             "fullName": "Healthcare"
           },
           {
             "id": "1256",
	     "parentId": "1226",
             "name": "Health and Diet Food",
             "fullName": "Retail > Food and Beverage > Health and Diet Food"
           }
         ],
  "address": {
            "addressLine1": "24 Hubert Street",
            "addressLine2": null,
            "locality": "New York",
            "region": "NY",
            "postCode": "10013",
            "country":             {
               "abbreviation": "US",
               "name": "United States"
            },
            "geo":             {
               "latitude": 40.7215035,
               "longitude": -74.0101024
            },
            "timeZone": null
         },
    "bookingType": ["APPOINTMENT"],
    "factualId": null
      }
   }
 }
						  

Categories

Each place is categorized into one or more categories. To receive a list of categories, make an HTTP GET request to:

/v1/categories

Optional parameters:
Parameter Description
offset This offsets the start of each page by the number specified. Default value: 0
limit This is the number of individual objects that are returned in each page. Default value: 20. Maximum value: 50
query This parameter does filtering of the results by category name and category full name
sort This is the sorting parameter. Possible values are: NAME, FEATURED, POPULAR. Default value: NAME. Categories are filtered by geolocation in case sort value is POPULAR and both latitude and longitude parameters are provided
latitude Latitude in decimal degrees
longitude Longitude in decimal degrees
radius Search radius in kilometers. Default value: 30
Request example:

https://api.pingup.com/v1/categories?offset=0&limit=20

Response example:
{
   "meta-data":    {
      "code": 200,
      "message": "OK",
      "totalResults": 460,
      "offset": 0,
      "limit": 20,
      "prev": "",
      "next": "https://api.pingup.com/v1/categories?offset=20&limit=20"
   },
   "categories":    [
         {
	   "id": "1581",
	   "parentId": "1576",
	   "name": "Accounting and Bookkeeping",
	   "fullName": "Services and Supplies > Financial > Accounting and Bookkeeping"
         },
	 {
	   "id": "846",
	   "parentId": "841",
	   "name": "Acupuncture",
	   "fullName": "Healthcare > Holistic, Alternative and Naturopathic Medicine > Acupuncture"
         },
	 {
	   "id": "2766",
	   "parentId": "2751",
	   "name": "Advertising",
	   "fullName": "Services and Supplies > Technology > Advertising"
         },
    ...
    ]}
						  

FAQs

Answer #1
Answer #2
Answer #3

Developer Support

Contact us by email: api.support@pingup.com