Overview
Excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
Solution
A new batch Import orders let you import sales defined in a CSV file. Via this process, you are able to:
- Create reservation or sales, for simple tickets of Events and Competitions, assigned to exact seats/not-numbered areas
- Assign the sales to existing contacts (if you need to create sales for new contacts, you have to import them first using the SAM contact import)
- Process the order on an internal sales channel (typically a back-office sales channel) and create SecuTix tickets with one of the standard shipment modes
- Process payments by credit card using the stored credit card alias of the contact (same principle as the Cup Scheme process) or alternatively use an external payment method to flag them as paid without processing an actual payment
Thanks to this new capability, you can smoothen certain operations that would have been time consuming in the past, such as:
- Creating priority reservations for your best customers in a highly-desired event or match
- Move some of your existing customers to a new performance/match
- Create in bulk reservations or sales for your sponsors across several events/matches
Getting started
You need to create a new batch (from Organization > Tools > Batches) and select the type Import orders. Once this is done, you can launch an execution of the batch to process an import.
Warning |
---|
As for other batches, it is highly-recommended to first use a simulation mode run to ensure that the file format is correct, before actually creating the orders. Beware that there is no easy way to undo the import, especially for sales, in case you make a mistake, so make use of simulation mode and double-check what you are importing before doing it. |
The parameters of the batch function control the import process and is very similar to the Cup Scheme batch:
Parameter | Description |
---|---|
Batch size | Number of lines to import from the CSV file |
File to upload | CSV file that contains the sales. The format of that file is described below |
Transform into order and pay | Choose the type of order to create:
|
Transform into reservation if a payment error occurs | Applies if In all cases is selected in the previous parameter. If checked a reservation will be created in case of failure; if unchecked, the order will be abandoned with an error |
Validate contact alias | Only create an order if the contact has a valid alias |
Send document | Send emails/documents to the customer based on the sales channel setup |
Sales channel | Sales channel on which the order will be created. Beware that the sales channel must include the shipment mode you are selecting. |
Point of sales | Point of sales on which the order will be created. Beware that the point of sales payment methods and payment terminal ID (if you process credit card) are setup correctly |
Shipment mode | Shipment mode to be used for the ticket creation |
Payment deadline | For reservation, the confirmation date of the reservation. If left blank, the default value as per the product setup will be used |
Simulation mode (no order creation) | Do not create orders, but only parse the file and make basic checks |
Multithread size | Number of parallel tasks processed. Recommended to leave at 1 for most use cases. |
Number of errors before stopping | Number of errors after which the batch will stop and not import the subsequent lines |
Send finish execution to email | Email address to which an email will be sent once the import is finished (successfully or not) |
The CSV file itself contains the following columns. Note that the file must have a .csv extension, is comma-separated and must include the headers. An example file is available here: import_match_example.csv.
Column | Description |
---|---|
external_order_id | Optional: if specified, unique reference that will be associated to the order (as external reference) and used for grouping purposes. When no external_order_id is indicated, the grouping will be done by order_contact. |
season_code | Mandatory: code of the season of the product |
product_code | Mandatory: code of the product (event or competition) |
performance_date | Mandatory: performance date and time. Example format: 2021-05-06 20:00:00 |
logical_seatcategory_code | Mandatory: code of the logical seat category (found inside the logical configuration) |
audience_sub_category_code | Mandatory: code of the tariff Note: Tariffs with a price level (e.g. members tariffs) are not supported from now in this batch. |
physical_area_code | Mandatory: code of the (physical) area |
physical_block_code | Mandatory for seated events: code of the (physical) block |
seat_row | Mandatory for seated events: row of the seat |
seat_number | Mandatory for seated events: number of the seat |
sale_date_time | Date/time of the order (applies to both reservation and sales) |
payment_method_code | Mandatory for sales: Code of the payment method to use, in case sales are processed. Only the following types are supported:
|
unit_price | Mandatory: Unit amount of the ticketing. Must match the configured price. |
order_contact_reference | Mandatory: Contact number of the order contact |
cultural_contact_reference | Mandatory: Contact number of the cultural contact of the ticket |
beneficiary_firstname | Optional: First name of the ticket holder |
beneficiary_lastname | Optional: Last name of the ticket holder |
remark | Optional: Internal order remark |
It is recommended to split the files to have at most 10'000 lines per file, for practical reasons. Also note that if an order can only contain up to 1'000 tickets. In case an order would contain more than 1'000 tickets (more than 1'000 tickets with the same external_order_id or 1'000 tickets with the same order_contact_reference), then the order will be split into orders of up to 1'000 tickets.