Tiquo
Integrations OverviewAirtableAsanaSlackGoogle AnalyticsMetabaseMixpanelPendoSegmentTableau (PAT)ActiveCampaignBrevoEmarsys Core API (WSSE)EventbriteFacebookGoogle AdsHighLevelInstagramKlaviyoMailchimpMailgunMicrosoft AdsSendGridTwitter (v2)HubSpotNotionAcuity SchedulingAirtable (Personal Access Token)BasecampCal.com (v2)CalendlyClickUpCodaConfluence Data CenterExpensifyGoogle CalendarGoogle SheetHarvestLinearMicrosoft Power BIMicrosoft TeamsMindbodyMondayOpenAIPerplexityPingboardPivotal TrackerProductboardQuickbaseServiceM8ServiceNowTeamworkTickTickTimelyTodoistTrafftTrelloWrikefal.aixAIZendeskIntercomAircall (OAuth)DixaFreshDeskFreshserviceFrontPlainRingCentralZoho DeskBrazeDialpadGoogleMicrosoftOutlookPodiumSednaSharePoint OnlineTwilioWhatsApp BusinessZoho MailBambooHRADPDeelEmployment HeroGustoHibob Service UserNamelyOracle Fusion Cloud (HCM)PaychexPayfitPaylocityPersonioRipplingSAP SuccessFactorsSage HRTSheetsUKG ProUKG ReadyWorkdayZoho PeopleQuickBooksBuildiumExact OnlineFreshBooksIntuitNetSuitePennylaneSageSage IntacctTwinfieldUnanetWave AccountingXeroZoho BooksSalesforceAffinityAttioCopperFreshsalesGainsight CCInsightlyKustomerMedalliaPipedriveTwenty CRMZoomInfoApaleoMewsMicrosoft Business CentralOdooSAP ConcurZuoraAcceloCoupa CompassZoho InvoiceAnrokAvalaraDocuSignDropbox SignPandadocSignNowLinkedInSplitwiseTikTok AdsJotformQualtricsRefinerTypeformShopifyCin7 CoreGoogle MapsRingoverListrakRydooTalentLMSApple Business ManagerCrunchbaseRocketReachOcean.ioFreepikEnergy Performance Certificates (Gov.UK)JustworksGristSAP S/4HANA Cloud3CX8x8Adobe CommerceBirdCloudbedsConstant ContactBufferCustomer.ioCrispFreeAgentGreenhouseMeta Marketing APIMollienocrm.ioOomnitzaDigitsPylonSage 200ShopwareAnvilShippoEasyPostAltrataMicrosoft PeopleMicrosoft IntuneCloudTalkGoogle FormsMaximizerMicrosoft PlannerSalesmsgSellercloudTallyTimifyUpsalesCleverReachHeymarketMailjetPleoProvenExpertTelegramToggl TrackTenzoASSA ABLOY Vingcard VisionlineASSA ABLOY Vingcard VostioASSA ABLOY TESA HotelASSA ABLOY SMARTairSalto KSSalto Space OnlineDormakabaOmnitecHotekTT LockWebLockISEOKleverKeyAperioISONASHIDSouthcoThird MillenniumSTidAxis CommunicationsBooking.comExpediaHotels.comAirbnbGoogle HotelsTripadvisorAgodaHotelbedsTravelgateXHyperguestRoibosReconlineTraviaOpenGDS.comMG BedbankDidatravelHotelREZHRSHotelnetworkGetaroomWinkBookeasyVRBOInntopiaHookusbookusHipcampSpot2niteCamping VisionMinistry of VillasTrip.comTravelokaTiketMakeMyTripHoteripKlookeDreamsSzallasEmerging Travel GroupCheck24Bed-and-Breakfast.itWorld2Meet (W2M)Ctoutvert / SecureholidayDespegarPriceTravelRoombeastMitchell CorpHRS AustraliaResonlineHostelworldHostelhopTablet MichelinMr & Mrs SmithHopperHotel TonightPitchupMoveriiLocalOTAAlaricBooknpayCultbookingGuestTractionLevartWeSpeakMake.comZapierPricelabsPricepointRategenieElastic HotelRoom Price GenieTurbosuiteUber EatsDeliverooDoorDashBolt FoodGlovo
API and AuthenticationCustomer API

List Bookings

Retrieve the authenticated customer's booking history

List Bookings

Returns a paginated list of bookings for the authenticated customer.

Endpoint

GET /bookings

Authentication

Requires a valid JWT access token.

Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...

Query Parameters

ParameterTypeDefaultDescription
limitinteger50Number of bookings to return (1 to 100)
cursorstring-Booking ID to paginate from
statusstring-Filter by booking status
rangestring-Use upcoming for future bookings or past for historical bookings
upcomingbooleanfalseDeprecated compatibility option; use range=upcoming

Status Values

StatusDescription
scheduledBooking has been scheduled but not yet confirmed
confirmedBooking is confirmed
reminder_sentA reminder has been sent
waiting_roomCustomer is in a waiting room
waiting_listCustomer is on a waiting list
checked_inCustomer has checked in
activeCustomer is present and the booking is active
in_progressService is in progress
completedBooking took place as scheduled
cancelledBooking was cancelled
no_showCustomer did not show up
rescheduledBooking was moved to another time

Example Request

curl -X GET "https://edge.tiquo.app/api/client/v1/bookings?range=upcoming&limit=10" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..."

Response

{
  "success": true,
  "data": {
    "bookings": [
      {
        "id": "booking_123",
        "bookingNumber": "BK-001234",
        "status": "confirmed",
        "date": 1706662800000,
        "startTime": "14:30",
        "endTime": "15:30",
        "duration": 60,
        "timezone": "America/New_York",
        "attendeeCount": 2,
        "serviceName": "Consultation",
        "serviceCategoryName": "Appointments",
        "ticketing": {
          "qrCodeTicketsEnabled": true,
          "walletTicketsEnabled": true,
          "ticketDownloadUrl": "https://edge.tiquo.app/api/client/v1/booking-ticket?bookingId=booking_123",
          "walletTicketUrl": "https://cards.tiquo.app/ticket/org_123/BK-001234"
        },
        "serviceId": "svc_123",
        "sublocationId": "loc_456",
        "customerNotes": "Please use the side entrance.",
        "checkedInAt": 1706664000000,
        "createdAt": 1706576400000
      }
    ],
    "hasMore": false
  }
}

Booking Object

FieldTypeDescription
idstringBooking document ID
bookingNumberstringHuman-readable booking number (e.g. BK-001234)
statusstringBooking status (see values above)
dateintegerUnix timestamp in milliseconds for the booking date
startTimestringStart time in HH:mm format
endTimestringEnd time in HH:mm format
durationintegerDuration in minutes
timezonestringTimezone of the booking (e.g. America/New_York)
attendeeCountintegerNumber of attendees
serviceNamestringName of the booked service. When available, this comes from the order item snapshot captured when the booking was made.
serviceCategoryNamestring or omittedService category captured for the booking
ticketingobjectTicket availability and download links for the booking
serviceIdstringID of the booked service
sublocationIdstringID of the sublocation
customerNotesstring or omittedNotes saved on the booking for the customer
createdAtintegerUnix timestamp in milliseconds when the booking was created
checkedInAtinteger or omittedUnix timestamp in milliseconds when the customer checked in
completedAtinteger or omittedUnix timestamp in milliseconds when the booking completed
cancelledAtinteger or omittedUnix timestamp in milliseconds when the booking was cancelled

Ticketing Object

FieldTypeDescription
qrCodeTicketsEnabledbooleanWhether a QR-code ticket PDF can be downloaded
walletTicketsEnabledbooleanWhether Apple Wallet and Google Wallet ticket links are available
ticketDownloadUrlstring or omittedDirect ticket download URL, when QR-code tickets are enabled
walletTicketUrlstring or omittedWallet ticket URL, when wallet tickets are enabled
appleWalletTicketUrlstring or omittedApple Wallet ticket URL
googleWalletTicketUrlstring or omittedGoogle Wallet ticket URL

For ticket downloads, see Download Booking Ticket.

Pagination

When hasMore is true, pass the response's nextCursor as the cursor parameter to get the next page.

Errors

StatusDescription
401Invalid or expired access token
500Internal server error

Code Examples

JavaScript

async function getBookings(accessToken, options = {}) {
  const params = new URLSearchParams();
  if (options.limit) params.set('limit', options.limit);
  if (options.cursor) params.set('cursor', options.cursor);
  if (options.status) params.set('status', options.status);
  if (options.range) params.set('range', options.range);
  if (options.upcoming) params.set('upcoming', 'true');

  const response = await fetch(
    `https://edge.tiquo.app/api/client/v1/bookings?${params}`,
    {
      headers: { 'Authorization': `Bearer ${accessToken}` },
    }
  );

  return response.json();
}

// Fetch upcoming bookings
const result = await getBookings(token, { range: 'upcoming', limit: 10 });
console.log(`You have ${result.data.bookings.length} upcoming bookings`);

// Fetch past bookings
const past = await getBookings(token, { range: 'past', limit: 10 });

En esta página