Tiquo
API and AuthenticationAdmin APIBookings

Bookings

Admin API endpoint for retrieving bookings

Bookings

The Bookings endpoint lets you list bookings within your organization through the Admin API.

For customer-scoped booking history (returns bookings for a single authenticated customer), see the Client API Bookings endpoint.

Endpoints

MethodEndpointDescription
GET/bookingsList bookings with filtering
GET/bookings/{bookingId}Get a single booking
GET/bookings/{bookingId}/ticketDownload a booking ticket PDF

Authentication

All requests require a valid Admin API key:

Authorization: Bearer your_api_key_here

List Bookings

GET /bookings

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoMax results (1 to 100, default 50)
searchstringNoFull-text search across booking number and customer name/email
statusstringNoComma-separated list of statuses (see Booking Status Values)
dateFromstringNoISO date string for the start of a date range
dateTostringNoISO date string for the end of a date range

Example Request

curl "https://api.tiquo.app/api/v1/bookings?status=confirmed,checked_in&limit=25" \
  -H "Authorization: Bearer your_api_key_here"

Response

{
  "success": true,
  "data": [
    {
      "id": "k1234567890abcdef",
      "bookingNumber": "BK-A12B34",
      "status": "confirmed",
      "date": "2025-01-20",
      "startTime": "14:00",
      "endTime": "15:00",
      "duration": 60,
      "attendeeCount": 2,
      "source": "online",
      "serviceName": "Deep Tissue Massage",
      "serviceGroupName": "Massage Services",
      "serviceCategoryName": "Massage Services",
      "ticketing": {
        "qrCodeTicketsEnabled": true,
        "walletTicketsEnabled": true,
        "ticketDownloadUrl": "https://api.tiquo.app/api/v1/bookings/k1234567890abcdef/ticket",
        "walletTicketUrl": "https://cards.tiquo.app/ticket/org_123/BK-A12B34",
        "appleWalletTicketUrl": "https://cards.tiquo.app/ticket/org_123/BK-A12B34",
        "googleWalletTicketUrl": "https://cards.tiquo.app/ticket/org_123/BK-A12B34"
      },
      "sublocationName": "Treatment Room 1",
      "customerId": "k1234567890abcdef",
      "customerName": "John Doe",
      "customerEmail": "john@example.com",
      "parentOrderId": "k1234567890abcdef",
      "orderNumber": "ORD-J98UBC",
      "orderValue": 84.50,
      "orderPaymentStatus": "paid",
      "createdAt": 1640995200000,
      "updatedAt": 1640995200000
    }
  ],
  "pagination": {
    "hasMore": false,
    "nextCursor": null,
    "pageSize": 25
  },
  "timestamp": "2025-01-15T10:30:00.000Z"
}

serviceName and serviceCategoryName use the booking's order-item snapshot when available. This keeps API output aligned with what the customer saw when the booking was created, even if the service is renamed later.

Get Booking

GET /bookings/{bookingId}

Path Parameters

ParameterTypeRequiredDescription
bookingIdstringYesBooking document ID, booking number, or confirmation code

Example Request

curl "https://api.tiquo.app/api/v1/bookings/BK-A12B34" \
  -H "Authorization: Bearer your_api_key_here"

Response

Returns a single booking object with the same core fields as List Bookings, plus detailed fields such as:

FieldDescription
timezoneIANA timezone for the booking
attendeesAttendee names, email addresses, and phone numbers
customerNotesCustomer-facing notes captured on the booking
internalNotesInternal staff notes
isLegacyWhether the booking came from legacy imported data
completedAtCompletion timestamp, when available
cancelledAtCancellation timestamp, when available
checkedInAtCheck-in timestamp, when available

Download Booking Ticket

GET /bookings/{bookingId}/ticket

Downloads a PDF ticket for a booking when QR-code tickets are enabled for the booking's sublocation.

Example Request

curl -L "https://api.tiquo.app/api/v1/bookings/k1234567890abcdef/ticket" \
  -H "Authorization: Bearer your_api_key_here" \
  -o ticket.pdf

The response is application/pdf. If ticketing is not enabled or the booking cannot be accessed by the API key's organisation, the endpoint returns an error response.

Ticketing Object

FieldDescription
qrCodeTicketsEnabledWhether a QR-code ticket PDF can be downloaded
walletTicketsEnabledWhether wallet ticket links are available
ticketDownloadUrlAPI URL for downloading the ticket PDF
walletTicketUrlWallet ticket URL for the booking
appleWalletTicketUrlApple Wallet ticket URL
googleWalletTicketUrlGoogle Wallet ticket URL

Booking Status Values

StatusDescription
draftCreated but not yet committed.
scheduledScheduled but not yet confirmed.
confirmedConfirmed; inventory reserved.
reminder_sentA reminder has been sent to the customer.
waiting_roomCustomer is in the virtual waiting room.
waiting_listOn the waiting list for an unavailable slot.
checked_inCustomer has checked in.
activeCustomer is present and orders can be added to this booking.
in_progressService is in progress.
completedService completed and customer checked out.
cancelledBooking cancelled; inventory released.
no_showCustomer did not arrive.
rescheduledBooking moved to a different time.

Booking Source Values

SourceDescription
onlineCreated via online booking flow
websiteCreated through the customer website
phoneTaken over the phone by staff
emailTaken via email by staff
walk_inWalk-in booking
socialCreated via social media channel
referralReferred booking
posCreated at point of sale
adminCreated in the dashboard

Error Responses

401 Unauthorized

{
  "success": false,
  "error": "Missing or invalid API key",
  "timestamp": "2025-01-15T10:30:00.000Z"
}

En esta página