1. Tickets and Orders: One order could have multiple tickets, so one ticket is not one order. We have multiple validation for this one is order validation QR code which is a string Order-{order_id}-{checksum} Ticket as explained above could belong to an order but there could be multiple tickets. QR code for the ticket is: Ticket-{ticket_id}-{checksum} If you check-in a ticket you make only that ticket activated and the rest of the tickets of the order could be still valid If you check-in an order, then all it's tickets are activated and can't be used any more. Each Order Confirmation email could have Order QR code as well as one or multiple Ticket QR codes. 2. Order activation: there is an endpoint for this you can access is as: _POST /secure/payment/orders/check.json?activate and you have to provide the following parameters: _POST['data[venue_id]'] - your venue_id _POST['data[date]'] - usually should be today's date but it could be acquired from the order. _POST['data[event_id]'] - if there is an event_id for that order it should be specified _POST['data[id]'] - QR code string. It could be either Order-{order_id}-{checksum} or Ticket-{ticket_id}-{checksum} _POST['data[undo]'] - if provided it will "unvalidate" the entity. So it could be used again. Pass true (or 1) Response json success - boolean wheather the order is already activated or not. If return false the order is already activated/used message - success message if you need to display something error - error message if you need to display it if the order is already activated or missing Usually in the QR code you don't have the venue_id, date and event_id. You could get them either by using: /secure/payment/orders/view/{venue_id}/{order_id}.json or /secure/payment/tickets/view/{venue_id}/{ticket_id}.json depending from the QR code first part and then you can use the /secure/payment/orders/check.json to activate the order or ticket. 3. Orders search /secure/payment/orders/index/{venue_id}.json This is paginated orders of the venue. You can use the following if you want to search: _POST['data[name]'] = 'John Doe' - this will work also with 'John' or with 'Doe' _POST['data[email]'] = 'user@server.com' - full user's email _POST['data[date]'] = '2023-01-01' - date in format (YYYY-MM-DD) For now we don't have date range, but could be added if needed. to go to see second page use _GET[start] parameter and start is offset from the results e.g. start=0 will show you 1-12 results start=12 will show 13-25 etc 4. Guest names - not sure what order you are looking at but the guest names either could be in the data.extra.guests if there are tickets in your setup (I guess they are) then you could use the following endpoint to get all tickets of the order: /secure/payment/tickets/list/{venue_id}/{order_id}.json