Skip to main content

Cinema tickets in Apple Wallet and Google Wallet

The moviegoer buys a seat on the subway, arrives five minutes before the show and digs for the email. With a ticket in Apple Wallet or Google Wallet, they open the lock screen and walk in. Screen, row and seat are shown in large type. After the film, a snack coupon or an invitation to the next preview brings them back.

Try this pass liveFill in the form, watch the pass and the code update, then get it on your phone.

Customer journey​

Integration workflow​

  1. Create the screeningYour server

    A screening is an event: film in name, synopsis in description, start and end times, price, terms, cinema address and poster as the strip. The three seating labels become Screen (ZONE on the left), Row (ROW in the center) and Seat (SEAT on the right). Create it automatically from your programming.

    POST/eventsTry it
    curl -L 'https://api-v2.test.eldowallet.fr/events' \
    -H 'Accept: application/json' \
    -H 'x-lang: en' \
    -H 'Authorization: Bearer <token>' \
    -F 'strip=@"poster.jpg"' \
    -F 'name="Screening 8:45 pm"' \
    -F 'barcodeType="QR_CODE"' \
    -F 'date="{\"startDate\":\"2026-11-14T19:45:00.000Z\",\"endDate\":\"2026-11-14T22:00:00.000Z\"}"' \
    -F 'PKTextAlignmentLeft="ZONE"' \
    -F 'PKTextAlignmentCenter="ROW"' \
    -F 'PKTextAlignmentRight="SEAT"' \
    -F 'colors="{\"backgroundColor\":\"\#2b1a0f\",\"labelColor\":\"\#ffb648\",\"foregroundColor\":\"\#ffffff\"}"' \
    -F 'security="{\"enableOneTimeUse\":true}"'
  2. Issue the ticket after purchaseYour server

    One call per seat sold, with screen, row and seat. A group booking? Issue in bulk.

    POST/events/{id}/passesTry it
    curl -L 'https://api-v2.test.eldowallet.fr/events/$EVENT_ID/passes' \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'x-lang: en' \
    -H 'Authorization: Bearer <token>' \
    --data-raw '{
    "firstName": "Hugo",
    "lastName": "Lefèvre",
    "email": "hugo.lefevre@example.com",
    "leftRow": "7",
    "centerRow": "H",
    "rightRow": "12"
    }'
  3. The moviegoer adds the ticketEnd customer

    The ticket works offline and is ready to scan.

  4. Redeem at the doorYour server

    Staff scan the ticket and the pass is redeemed. A mistaken scan is fixed by undoing the redemption.

  5. Bring them backYour server

    Create a "€2 off the popcorn combo" or "€6 seats on Tuesdays" coupon and send it after the show, even to a moviegoer who isn't a client yet (first name, last name, email).

Best practices​

  • One screening, one event. The same film at 6 pm and 8:45 pm is two events, each with its own time. Reuse the poster.
  • Use the poster as the strip. Moviegoers recognise their film at a glance. See Design guidelines.
  • Turn on one-time use to block a second entry with a screenshot.
  • Declare the cinema's location so the ticket shows up on arrival. See Locations.

Go further​

Get inspired​

A cinema ticket can bring moviegoers back much more often. Here are ideas to make it happen.

Your film starts soon30 minutes before the screening: screen, film start time after the trailers, and a snack offer to pick up on arrival.
Multi-visit cardA 5- or 10-visit card shows the number of screenings left, updated at every visit.
Premiere nightLoyal moviegoers receive a personal invitation to a premiere, scanned at the door.
The film you were waiting forA moviegoer liked a film? Let them know when the sequel or a similar film comes out, with a booking link.
A ticket for your birthdayIn their birthday month, the moviegoer receives a free or discounted ticket.
Family holidaysDuring school holidays, a family rate for children’s screenings, sent to parents.
Discounted parkingThe ticket gives access to a reduced rate at the nearby car park, just by showing it.
Rate the filmThe next day, a message invites the moviegoer to rate the film and the venue. Fresh feedback for your programming.

Like one of these ideas? Contact our team and we'll show you how to set it up.

API news, once a month

New endpoints, upcoming changes, guides and use cases. No spam, one-click unsubscribe.

Report a technical problem

An API error, a pass that does not update, an email that does not arrive? Describe the problem: our technical team will answer.

For a fast answer, include:

  • The method and endpoint (e.g. POST /clients)
  • The error code returned (errorCode) and the body sent
  • The date and time of the call
  • The identifiers involved (customer, template, pass)

Never include an API token or a password.

AI assistant

Beta

Loading…

AI-generated answers (Claude): double-check important details.

Sign in to use the assistant