Create booking
Creates an event booking without collecting card payment. The full booking flow runs: tickets are issued, a confirmation email with the ticket PDF is sent to the customer, live-mode bookings decrement ticket-type capacity, and booking webhooks fire. With a paymentOption the booking is recorded as unpaid and settled outside checkout via the chosen manual option (invoice or cash_on_delivery); a free booking simply has nothing due. With complimentary: true the booking is recorded as paid with amount, amountPaid and amountDue of 0 and isComplimentary: true, while the ticket lines keep their face value and complimentaryDiscountAmount records what they would have cost. Storefront rules are enforced: every required field on the event must be supplied, tickets must be on sale and in stock, and the event registration limit applies. Requires a paid plan and a connected Stripe account.
/v1/bookings/Authorization
api_key_auth API key authentication. Use "Bearer YOUR_API_KEY" format.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.checkoutpage.com/v1/bookings/" \ -H "Content-Type: application/json" \ -d '{ "eventId": "string", "tickets": { "65f4a1c2e4a9f3d2b1c0a9e8": 2 }, "fields": [ { "fieldId": "507f1f77bcf86cd799439011" } ] }'{
"data": {
"id": "string",
"status": "created",
"orderId": "string",
"orderStatus": "active",
"customerEmail": "string",
"customerName": "string",
"customerId": "string",
"sellerId": "string",
"pageId": "string",
"pageSlug": "string",
"clientIp": "string",
"currency": "string",
"amount": 0,
"amountPaid": 0,
"amountDue": 0,
"amountRefunded": 0,
"amountUsd": 0,
"amountExcludingTax": 0,
"taxAmount": 0,
"taxBreakdown": [
{
"taxType": "string",
"taxabilityReason": "string",
"taxableAmount": 0,
"taxAmount": 0,
"taxRateDetails": {
"country": "string",
"percentageDecimal": 0,
"state": "string",
"taxType": "string"
}
}
],
"taxSource": "fixed_tax_rate",
"taxRates": [
{
"taxRate": "string",
"stripeId": "string",
"displayName": "VAT",
"default": true,
"active": true,
"inclusive": true,
"percentage": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
],
"stripeTaxCalculationId": "string",
"stripeTaxTransactionId": "string",
"dynamicPrice": 0,
"fees": [
{
"name": "string",
"amount": 0,
"percentage": 0
}
],
"billing": {
"name": "string",
"companyName": "string",
"email": "string",
"billingEmail": "string",
"phone": "string",
"address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "string",
"postalCode": "string",
"country": "string"
}
},
"shipping": {
"name": "string",
"phone": "string",
"address": {
"line1": "string",
"line2": "string",
"city": "string",
"state": "string",
"postalCode": "string",
"country": "string"
}
},
"fields": [
{
"fieldId": "string",
"label": "string",
"value": "string",
"values": [
"string"
],
"element": "checkbox",
"type": "",
"meta": {
"property1": null,
"property2": null
},
"reference": "string"
}
],
"coupon": {
"id": "string",
"label": "string",
"code": "string",
"amountOff": 0,
"percentOff": 0,
"discount": 0
},
"discount": {
"minQuantity": 0,
"maxQuantity": 0,
"percentOff": 0,
"amountOff": 0,
"amount": 0
},
"livemode": true,
"paymentError": "string",
"paymentMethod": {
"gateway": "stripe",
"method": "string",
"wallet": "string",
"mode": "default",
"brand": "string",
"last4": "string",
"country": "string",
"exp_month": 0,
"exp_year": 0,
"expMonth": 0,
"expYear": 0,
"funding": "string"
},
"paymentOption": {
"type": "manual",
"name": "string",
"description": "string",
"instructions": "string",
"partialAmount": 0,
"manualType": "invoice"
},
"locale": "string",
"sessionId": "string",
"userAgent": "string",
"screenWidth": 0,
"visitId": "string",
"queryParameters": {
"property1": "string",
"property2": "string"
},
"stripePaymentIntentId": "string",
"stripeChargeId": "string",
"upsell": true,
"upsellPageId": "string",
"isComplimentary": true,
"complimentaryDiscountAmount": 0,
"upsellChargeId": "string",
"upsellSubscriptionId": "string",
"invoiceId": "string",
"transactionIds": [
"string"
],
"lastRefundAt": "2019-08-24T14:15:22Z",
"lastRefundReason": "string",
"lastRefundReasonNote": "string",
"canceledAt": "string",
"canceledBy": "string",
"canceledReason": "string",
"isAbandoned": true,
"recoveredAt": "2019-08-24T14:15:22Z",
"abandonmentStatus": "abandoned",
"abandonedCartEmailStatus": "pending",
"abandonedCartEmailSentAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"eventTitle": "string",
"tickets": [
{
"name": "string",
"ticketTypeId": "string",
"capacity": 0,
"reference": "string",
"ticketGroupId": "string",
"ticketGroupName": "string",
"ticketGroupCapacity": 0,
"ticketGroupReference": "string",
"quantity": 0,
"price": 0,
"originalPrice": 0,
"pricing": "paid",
"fee": {
"name": "string",
"amount": 0,
"totalAmount": 0,
"display": "included"
},
"discount": {
"minQuantity": 0,
"maxQuantity": 0,
"percentOff": 0,
"amountOff": 0,
"amount": 0
}
}
],
"ticketFeesAmount": 0
}
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}{
"status": "error",
"type": "error",
"message": "Not Found",
"errors": [
{
"param": "string",
"message": "string",
"value": null
}
],
"property1": null,
"property2": null
}