Skip to main content

Create an event ticket from a booking

POST /event-tickets/create-from-booking

Creates an event ticket for a non-member recipient from cinema or booking-system data. Requires the passes:issue permission.

Note

Use this endpoint when the ticket recipient is not a RemyPass member. The API creates or reuses an event ticket template for the film and start time, creates the ticket pass instance, and prevents duplicate bookings by rejecting requests with a bookingId that already exists.

Authorization

X-API-Key required

Request Body

FieldTypeRequiredDescription
bookingIdstringYesExternal booking or order identifier for the ticket. Must be unique; duplicate booking IDs are rejected.
filmstringYesEvent or film name to display on the ticket.
sendEmailbooleanNoDefaults to false. Set to true to send the ticket email after creation.
startTimestring (date-time)YesEvent start time in ISO 8601 format.
seatstringYesSeat number or seat label.
rowstringYesSeat row.
screenstringYesScreen, room, section, or venue area.
customerobjectYesCustomer details for the ticket recipient.

Request Examples

curl -X POST "https://api.remypass.com/api/v1/public/event-tickets/create-from-booking" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "bookingId": "BOOKING-12345",
  "film": "The Matrix Reloaded",
  "sendEmail": true,
  "startTime": "2024-12-25T19:30:00.000Z",
  "seat": "A12",
  "row": "A",
  "screen": "Screen 1",
  "customer": {
    "name": "John Doe",
    "email": "john@example.com"
  }
}'

Use Case Examples

Create event ticket from booking for a non-member

Use this for cinema or booking-system integrations where the recipient is not a member. The API automatically creates templates and prevents duplicate bookings.

curl -X POST https://api.remypass.com/api/v1/public/event-tickets/create-from-booking \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"bookingId": "BOOKING-12345",
"film": "The Matrix Reloaded",
"sendEmail": true,
"startTime": "2024-12-25T19:30:00.000Z",
"seat": "A12",
"row": "A",
"screen": "Screen 1",
"customer": {
"name": "John Doe",
"email": "john@example.com"
}
}'

Responses

StatusDescription
201Event ticket created.
400Bad request or validation error.
401Missing or invalid API key.
403The caller is not allowed to access this resource.
500Server error.

Response Fields

FieldTypeAttributes
successboolean
messagestring
dataobject
Show child attributes
  • passInstance: object
    Show child attributes
    • _id: string
    • serialNumber: string
    • status: active, inactive, expired, void
    • member: string or object
      Show child attributes
      • _id: string
      • title: Mr, Ms, Mrs, Miss, Sir, Madam, Dr, Rev
      • name: string
      • email: string (email)
      • memberId: string
      • type: Member, Visitor
      • status: active, inactive
      • customFields: object
      • passes: integer
      • createdAt: string (date-time)
      • updatedAt: string (date-time)
    • pass: string or object
      Show child attributes
      • _id: string
      • name: string
      • description: string
      • type: string
      • approved: boolean
      • design: object
      • loyalty: object
    • recipientName: string
    • recipientEmail: string (email)
    • expiryDate: string (date-time)
    • issuedAt: string (date-time)
    • walletUrls: object
      Show child attributes
      • apple: string (uri)
      • google: string (uri)
  • walletUrls: object
    Show child attributes
    • apple: string (uri)
    • google: string (uri)
  • emailSent: boolean
  • message: string