Documentation - V1

Last updated: February 21th, 2020

Promo codes

A promo code has the following structure :


    {
      "id": "132132194B-D521-A2C2-FA06-982B5F1DAFD2",
      "label": "SUPERPROMO",
      "created": "2020-09-23T15:36:04+02:00"
      "description": "10% de réduction",
      "starttime": "2020-10-07T20:30:00+02:00",
      "endtime": "2021-10-07T20:30:00+02:00",
      "typeid": 1,
      "capacity_total": 100,
      "capacity_free": 52,
      "discount" : {
        "value" : "0",
        "percentage" : "1000",
        },
      "product_category": {
        "id": "X4D85D07-55A4-670C-4624-6BA3F6C65B1D",
        "label": "SERIE UNIQUE",
        "description": ""
      }
    }
                
Parameter Values Description
id uuid unique ID for this promo code
label string promo code
created iso 8601 date string creation date/td>
description string description of the promo code
starttime iso 8601 date string the validity start date
endtime iso 8601 date string/null the validity en date
typeid integer See list below
capacity_total integer The total usage capacity
capacity_free integer The available usage capacity
discount discount object
valueintegerDiscount value in cents
percentageintegerDiscount value in pourcent
product_category category object If the promocode apply only on one product category, the category is listed

Promo code types

Type id Description
100 Discount
300 Price reveal

Validate a promo code

/shop/promocodes

Access control : for application

Returns a list of promo codes (see above)

Parameter Values Description
stockid string concerned stock id
label string promo code label
/{id} string promo code details

Orders

A order has the following structure :


    {
      "id": "97B8994B-D521-A2C2-FA06-982B5F1DAFD2",
      "label": "ORD09999999",
      "created": "2020-09-23T15:36:04+02:00",
      "expires": "2020-09-23T15:56:04+02:00",
      "contactid": "067D5CB-A08A-E8E5-5262-A1A3D0AC19BC",
        "info_url": "https://shop.utick.net/?module=INFOMODULE&oid=97B8994B-D521-A2C2-FA06-982B5F1DAFD2",
        "status": {
            "id": 30,
            "label": "Completed"
        }
    }
                
Parameter Values Description
id uuid unique ID for this order
label string order's label (readonly)
created iso 8601 date string creation date/td>
expires iso 8601 date string order expiration date (if not confirmed)
contactid string order's contact id (required)
status See status list below the current status of the order

Order status codes

Code Description
-20 Abandoned
-10 Cancelled
0 Creating
1 Confirmed
10 To pay
12 Partially paid
15 Paid
18 Overpaid
20 To deliver
25 To print
30 Completed
99 Archived

Search for orders

/shop/orders

Access control : for application

List orders

Parameter Values Description
limit integer the number of records to return (200 max)
offset integer record offset
email string email to filter
contactid string contact id to filter
/{id} string order details

Confirm an order

/shop/orders/{ORDERID} [PATCH]

Access control : for application

After filling the order with products, you have to confirm it

To confirm an order, send the follow parameters


{
   "statusid":"1",
   "contactid":"879698F60-CDB5-32BE-2287-8085EB625C52"
}
                
Parameter Values Description
statusid integer the new status of the order
contactid string the contact id attached to the order

Order status codes

Code Description
0 Creating
1 Confirmed
15 Paid
30 Paid and delivered
-10 Cancelled

Product

A product has the following structure :


    {
      "id": "b52fe895f7f811ea8802a63297441bb5",
      "label": "",
      "orderid": "X7EA97AC-CD3D-4811-F736-9C3E865A5900",
      "stockid": "X9A854CF-BAD0-A05C-782C-35CA8607CACB",
      "quantity": 1,
      "typeid": 2,
       "mainproductid": "F8744B26-1111-9101-5212-41D9F9D4675B",
      "category": {
        "id": "X4D85D07-55A4-670C-4624-6BA3F6C65B1D",
        "label": "SERIE UNIQUE",
        "description": ""
      },
      "price": {
        "id": "X50540AD-08D2-EDB1-E83B-54CA0354246A",
        "label": "PLEIN TARIF",
        "description": "",
        "value": {
          "amount": 18300,
          "currency": "EUR"
        }
      },
      "usage": {
        "statusid": -1,
        "by": "",
        "date": null
      },
      "ticket": {
           "id": "24249420",
            "typeid": 1,
            "spectatorlabel": "LECOMTE Marianne",
            "positionlabel": "D 16",
            "categorylabel": "SERIE UNIQUE - PLEIN TARIF - 65 ANS ET +  /  CARTE PROF FWB",
            "entrycount": 1,
            "pricelabel": "0,00 €",
            "price": 0,
            "orderreference": "ORD02215619",
            "qrcode": "24249420-2215619",
            "attractionlabel": "Edmond",
            "eventstarttime": "2023-01-04T19:00:00+01:00",
            "eventendtime": null,
            "presentinglabel": "Introduction au spectacle 45 minutes avant le début",
            "notes": "",
            "venuelabel": "Théâtre de Liège - Salle de la Grande Main",
            "venueaddressL1": "Place du 20-août 16",
            "venueaddressL2": "4000 LIEGE",
            "language": "fr",
            "metadata": []
      }
    }
                

Product type ids

Type id Description
1 Seat
2 Numbered seat
10 Pack
11 Subscription
101 Entries
502 Restaurant seat
601 Transport shuttle
1101 Workshop
1102 Training

Search for products

/shop/products

Access control : for application

List products

Parameter Values Description
orderid string orderid id to filter
mainproductid string the pack product id
contactid string the product contact id
/{id} string product details

Remove products

/shop/products/ [DELETE]

Access control : for application

Remove products from an order

Parameter Values Description
orderid string order id to remove products from
/{id} string product id to remove

by providing only an orderid, all products from the order will be removed

Attach products to a pack product

/shop/products/{PRODUCTID}/attach [PATCH]

Access control : for application

Attach a product to a pack product

Parameter Values Description
mainproductid string the product id of the pack

by providing only an orderid, all products from the order will be removed

Stock

A stock has the following structure :


{
      "id": "A702CD2F-1BCF-22D8-FC76-7573E48104E2",
      "label": "QUOTA-102784",
      "typeid": 1,
      "producttypeid": 2,
      "eventid": "R5BCC8C5-2198-A2F8-8A39-0A0007E45853",
      "timeslotid": "RKJk-54654654S-58778454",
      "streamid": "5487-54654654S-58778454",
      "capacity_total": 279,
      "capacity_free": 56,
      "shop_url": "http://shop.utick.demo/?XXX",
      "notes": "",
      "haspromocodes": false,
      "categories": [
        {
          "id": "8ZD85D07-55A4-670C-4624-6BA3F6C65B1D",
          "label": "SERIE UNIQUE",
          "description": "",
          "capacity_total": 223,
          "capacity_free": 32,
          "prices": [
            {
              "id": "D50E0AD-08D2-EDB1-E83B-54CA0354246A",
              "label": "PLEIN TARIF",
              "description": "",
              "quantity_min": 0,
              "quantity_max": 31,
              "value": {
                "amount": 2300,
                "currency": "EUR"
              },
              "promo": {
                    "description": "Super promo",
                    "initalprice": 2500
                }
            },
            {
              "id": "EC10C-F08D-191F-8213-6286A5969E72",
              "label": "65 ANS ET +",
              "description": "",
              "quantity_min": 0,
              "quantity_max": 20,
              "value": {
                "amount": 2100,
                "currency": "EUR"
              }
            },
            {
              "id": "BDFCD-0F95-7C5B-B042-951805BE4550",
              "label": "- DE 30 ANS",
              "description": "Pour les personnes de - 30 ANS présentant une pièce d'identité valide lors du contrôle des tickets",
              "quantity_min": 0,
              "quantity_max": 20,
              "value": {
                "amount": 1100,
                "currency": "EUR"
              }
            },
            {
              "id": "83A4C6-52C9-6024-C7D1-1A8E9C69ADDC",
              "label": "DEMANDEUR D'EMPLOI",
              "description": "Sur présentation de l'attestation de l'organisme de paiement",
              "quantity_min": 0,
              "quantity_max": 2,
              "value": {
                "amount": 1100,
                "currency": "EUR"
              }
            },
            {
              "id": "98C0C84-4B34-8A19-2B9B-781B3D6FAEF4",
              "label": "CARTE PROF FWB+ FED+",
              "description": "Sur présentation de la carte FWB 18-19 ou de la carte FED+",
              "quantity_min": 0,
              "quantity_max": 2,
              "value": {
                "amount": 2100,
                "currency": "EUR"
              }
            }
          ]
        }
      ]
    }
                

Stock type ids

Type id Description
1 Production
2 Coproduction
10 Host
11 Foreign host
15 Other activity
20 Rental

List stocks

/shop/products/stocks

Access control : for application

List stocks

Parameter Values Description
eventid string event id to filter
timeslotid (instead of the eventid) string timeslot id to filter
streamid (instead of the eventid) string stream id to filter
packid (instead of the eventid) string pack id to filter
promocodeids array of uuids promocodes to apply
/{id} string stock details

List suggested stocks

/shop/products/stocks/suggestions/{STOCKID}

Access control : for application

List stocks

Parameter Values Description
id string stock id to receive suggestion to

Request stocks

/shop/products/ [POST]

Access control : for application

Request products from stocks

A product request has the following format :


{
"requests":[
      {
         "quantity":"2",
         "stockid":"96DF2291-A06F-F46D-4255-2BFCF1321A6E",
         "categoryid":"94D85D07-55A4-670C-4624-6BA3F6C65B1D",
         "priceid":"RAA6610C-F08D-191F-8213-6286A5969E72",
         "promocodeids":["987D-455545-545454-ZDDD878","87984-455545-545454-ZDDD878"],
         "orderid":"654514C-F08D-191F-8213-6286A5969E72"
      }
   ]
}
                

Note that you can request multiple products from multiple stocks by providing multiple request in one shot.

If you don't provide any orderid, a new order will be created.

The response will be the list of the provided products. The list is empty when the requests can not be satisfied.

Parameter Values Description
quantity * integer the requested quantity
stockid * string the stock ro take the products from
categoryid * string product category of the request products
priceid * string price of the request products
promocodeids array of uuids possible promocodeids used for discount
orderid string destination order id. A new order will be created if not provided

Tickets

A set of tickets has the following structure :


{
      "stockid": "89EE5CD0-B913-3B9C-4E66-DBF8F4120B34-TS-A47EE861-335F-C14D-BAFB-3C982CE451D3",
      "tickets": [
        {
          "id": "16767718",
          "spectatorlabel": "DENIS Julien",
          "positionlabel": "A-89 (1er balcon)",
          "categorylabel": "Entrée - - 12 ans",
          "entrycount": 1,
          "pricelabel": "10,00 €",
          "orderreference": "ORD15145103",
            "qrcode": "23642340-4843772",
            "attractionlabel": "Hedda",
            "eventstarttime": "2022-09-24T19:00:00+02:00",
            "eventendtime": null,
            "presentinglabel": "Introduction au spectacle 45 minutes avant le début",
            "notes": "Subtitles in English",
            "venuelabel": "Théâtre de Liège - Salle de la Grande Main",
            "venueaddressL1": "Place du 20-août 16",
            "venueaddressL2": "4000 LIEGE",
            "language": "fr",
            "metadata": []
        },
        {
          "id": "16767717",
          "spectatorlabel": "DENIS Julien",
           "positionlabel": "A-87 (1er balcon)",
          "categorylabel": "Entrée - Adulte",
          "entrycount": 1,
          "pricelabel": "40,00 €",
          "orderreference": "ORD15145103",
          "qrcode": "16767717-ORD15145103",
         "attractionlabel": "Hedda",
        "eventstarttime": "2022-09-24T19:00:00+02:00",
        "eventendtime": null,
        "presentinglabel": "Introduction au spectacle 45 minutes avant le début",
        "notes": "Subtitles in English",
        "venuelabel": "Théâtre de Liège - Salle de la Grande Main",
        "venueaddressL1": "Place du 20-août 16",
        "venueaddressL2": "4000 LIEGE",
        "language": "fr",
        "metadata": []
        }
      ]
    }
                
Parameter Values Description
stockid uuid stock id
tickets array of tickets all tickets concerning this stock
id string ticket's id
spectatorlabel string name tage
positionlabel string Position in the room
categorylabel string Ticket's price category
entrycount integer Number of allowed access with this ticket
pricelabel string Price tag
orderreference string Order reference
qrcode string Access qr code

List of ticket sets

/shop/orders/tickets

Access control : for application

List ticket sets

Parameter Values Description
orderid string order id to filter
contactid string contact id to filter

URL to PDF Tickets

A set of tickets URL has the following structure :


{
      "ticket_url": "https://wwwww/xxxxx",
      "mobile_ticket_url": "https://wwwww/xxxxx",
}
                

Pdf URL

/shop/orders/tickets/pdf/

Access control : for application

URL to the pdf tickets

Parameter Values Description
orderid string order id to filter

Counters

A counter has the following structure :


    {
      "id": "97B8994B-D521-A2C2-FA06-982B5F1DAFD2",
      "label": "Caisse principale"
    }
                
Parameter Values Description
id uuid unique ID for this counter
label string counter's label

List counters

/shop/counters

Access control : for application

Retreive the list of the counters

Parameter Values Description
limit integer the number of records to return (200 max)
offset integer record offset
/{id} string counter details