Skip to main content
POST
/
bookings
/
checkout
Create a checkout session for a booking
curl --request POST \
  --url https://channels-service-alpha.fourvenues.com/bookings/checkout \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "redirect_url": "https://app.yourwebpage.com/checkout/internal-id/success",
  "error_url": "https://app.yourwebpage.com/checkout/internal-id/error",
  "send_resources": true,
  "metadata": {
    "key": "value"
  },
  "event_id": "5f8d0f8b9d2b3b0017b6d8a0",
  "zone_slug": "1736413718721",
  "normalized_zone_name": "superior-vip",
  "rate_slug": "rate-slug",
  "table_id": "17123134123",
  "full_payment": true,
  "observations_client": "Please give me a good table.",
  "marketing_consent": true,
  "external_channel_id": "AVTN2K",
  "discount_code": "DISCOUNT20",
  "tip_rate_id": "1234567890",
  "info": {
    "full_name": "John Doe",
    "email": "john.doe@example.com",
    "phone": "+34666666666",
    "birthdate": "1995-04-26",
    "quantity": 5,
    "billing": {
      "customer_type": "individual",
      "customer_name": "John Doe",
      "document_type": "dni",
      "document_number": "12345678Z",
      "address": "123 Main St",
      "city": "Barcelona",
      "postal_code": "08001",
      "country": "ES"
    }
  }
}
'
{
  "data": {
    "payment_id": "6c84cba3477b43619db98e19",
    "payment_url": "https://pay.fourvenues.com/6c84cba3477b43619db98e19",
    "total_amount": 100,
    "booking": {
      "_id": "5f8e1b9b9d9e4b0017b3b3a0",
      "organization_id": "5f8e1b9b9d9e4b0017b3b3a0",
      "channel_id": "5f8e1b9b9d9e4b0017b3b3a0",
      "referral_id": "5f8e1b9b9d9e4b0017b3b3a0",
      "status": "accepted",
      "quantity": 10,
      "full_name": "John Doe",
      "email": "john.doe@example.com",
      "phone": "1234567890",
      "deposit": 100,
      "fee_type": "percentage",
      "fee_quantity": 7,
      "qr_code": "ABCDE12345",
      "activation_code": "ABCDEFGH12345678",
      "observations_referral": "This is a referral",
      "observations_client": "Please give me a good table",
      "payment_id": "pay_1234567890",
      "marketing_consent": true,
      "billing_info": {
        "customer_type": "individual",
        "customer_name": "John Doe",
        "document_type": "dni",
        "document_number": "12345678Z",
        "address": "123 Main St",
        "city": "Barcelona",
        "postal_code": "08001",
        "country": "ES"
      }
    }
  },
  "success": true
}

Authorizations

X-Api-Key
string
header
required

Body

application/json
redirect_url
string

Redirect URL after the payment is successful

Example:

"https://app.yourwebpage.com/checkout/internal-id/success"

error_url
string

Redirect URL after the payment is failed

Example:

"https://app.yourwebpage.com/checkout/internal-id/error"

send_resources
boolean

Send resources to the customer after the payment is successful

metadata
object

Metadata to be stored in the ticket. Max 1kb.

Example:
{ "key": "value" }
event_id
string

Event ID

Example:

"5f8d0f8b9d2b3b0017b6d8a0"

zone_slug
string

Zone slug

Example:

"1736413718721"

normalized_zone_name
string

Normalized name of the zone

Example:

"superior-vip"

rate_slug
string

Rate slug

Example:

"rate-slug"

table_id
string

Table ID. Only allowed if the zone has enabled the table selection option for customers.

Example:

"17123134123"

full_payment
boolean

If the booking should be paid in full. This option is only available if the rate has enabled the full payment option.

Example:

true

observations_client
string

Observations of the client

Example:

"Please give me a good table."

If the customer has given marketing consent

Example:

true

external_channel_id
string

External channel ID

Example:

"AVTN2K"

discount_code
string

Discount code

Example:

"DISCOUNT20"

tip_rate_id
string

Tip rate ID

Example:

"1234567890"

info
object

Info about the booking

Response

OK

data
object
success
boolean
Example:

true