Skip to content

How to order ski tickets

Ski tickets, ecpecially seasonal passes, often require the handling of additional information to the traveler. Not only name and firstname but the SwissPass and some documents to prove the legitimacy of getting special conditions. To support this different concept and services of discover.swiss play together.

  • Possible dates and standard-prices on that date are available by using Product availabilities.
    The standard price is the regular price for an adult on that day
  • Prices (and possible dates) are available by using OfferBundles and offers.
  • Requirements to the order item and the travelers in the order are defined by the products CustomerFields, ItemFields and TravelerFields -> Traveler- and ItemFields
  • Traveler parties, Cards and Media saved in the Provile Service support the handling and reuse of all the additional information.

profile data used in orders

To place an order there are different ways, but this is a straight forward possible solution:

  1. (Load the products using one of many ways to do that (Marketplace, Infocenter, Search) and let the user select one.)
  2. Display the date picker and activate the dates using the Product availabilities
  3. (Create an empty order if you do not have one yet)
  4. Suggestions: Then the user selects one of the available variants and price category
  5. Get offers (using variant and pricecategory) and let the user pick one if there are several
  6. create the order item using the offerbundleId
  7. Update the order item and add traveler information with it (see travelerField definitions)
    remarks:
  8. The traveler might need supporting documents or a profile picture. These files you need to upload to the profile first and then reference them (see below)
  9. you can select a traveler from the profile and reuse it's id. But then you need to add the additionalProperty "ds_offerTravelerId" to reference the traveler created in the offerBundle.
  10. If the order item is placed continue in the same way as with any order.
{
    "dateFrom": "2025-05-01",
    "dateUntil": "2025-05-31",
    "availableDatesOnly": true,
    "top": 50,
    "product": [
        "llb_sand-p1d"
    ]
}
{
    "count": null,
    "hasNextPage": false,
    "nextPageToken": null,
    "data": [
        {
            "productIdentifier": "llb_sand-p1d",
            "@product": "https://api.discover.swiss/dev/info/products/llb_sand-p1d",
            "date": "2025-05-17T00:00:00+00:00",
            "lastModified": "2025-04-23T14:31:31.1287009+02:00",
            "count": 1000,
            "service": "ald-al_biketickets",
            "additionalProperty": [],
            "standardPrice": 30.0
        },
        {
            "productIdentifier": "llb_sand-p1d",
            "@product": "https://api.discover.swiss/dev/info/products/llb_sand-p1d",
            "date": "2025-05-18T00:00:00+00:00",
            "lastModified": "2025-04-23T14:31:31.221946+02:00",
            "count": 1000,
            "service": "ald-al_biketickets",
            "additionalProperty": [],
            "standardPrice": 30.0
        },
        {
            "productIdentifier": "llb_sand-p1d",
            "@product": "https://api.discover.swiss/dev/info/products/llb_sand-p1d",
            "date": "2025-05-29T00:00:00+00:00",
            "lastModified": "2025-04-23T14:31:31.3124902+02:00",
            "count": 1000,
            "service": "ald-al_biketickets",
            "additionalProperty": [],
            "standardPrice": 20.0
        },
        {
            "productIdentifier": "llb_sand-p1d",
            "@product": "https://api.discover.swiss/dev/info/products/llb_sand-p1d",
            "date": "2025-05-30T00:00:00+00:00",
            "lastModified": "2025-04-23T14:31:31.403944+02:00",
            "count": 1000,
            "service": "ald-al_biketickets",
            "additionalProperty": [],
            "standardPrice": 20.0
        },
        {
            "productIdentifier": "llb_sand-p1d",
            "@product": "https://api.discover.swiss/dev/info/products/llb_sand-p1d",
            "date": "2025-05-31T00:00:00+00:00",
            "lastModified": "2025-04-23T14:31:31.4916979+02:00",
            "count": 1000,
            "service": "ald-al_biketickets",
            "additionalProperty": [],
            "standardPrice": 20.0
        }
    ]
}
{
    "productVariantIdentifier":"llb_sand_4cec79c3-3b4d-59da-c8f9-31cf31c05b2b",
    "dateFrom": "2025-05-17",
    "numberOfTravelers": 1,
    "traveler": [
        {
            "priceCategory":"2f956cfa-7695-ae6b-d7fd-33733a912ef1"
        }
    ]
}
{
    "validationMessages": [],
    "offerBundle": [
        {
            "id": "46fbdf5e-5e6c-4899-97c4-048add2611f2",
            "productConfiguration": {...}
            "totalPrice": 30.0,
            "totalPriceCHF": 30.0,
            "currency": "CHF",
            "offer": [
                {
                    "id": "75a43188-bff3-46e8-8510-9d1c6c0100d2",
                    "title": "Erwachsene",
                    "description": "655294467",
                    "priceInformation": "2f956cfa-7695-ae6b-d7fd-33733a912ef1",
                    "price": 30.0,
                    "priceCHF": 30.0,
                    "currency": "CHF",
                    "travelerId": "52fb365a-64e8-426f-996b-fe3eced28fe7"
                }
            ],
            "requiresAdditionalConfiguration": true
        }
    ]
}
{
    "offerBundleId": "{{ offerBundleId }}",
    "orderedItem": {
        "traveler": [
            {
                "identifier": "existing-traveler-id",
                "givenName": "Sepp",
                "familyName": "Muster",
                "birthDate": "1978-12-01",
                "additionalProperty": [
                    {
                        "name": "Haben Sie bereits eine Keycard?",
                        "value": "keycard",
                        "propertyId": "additionalProperty.travelerHasKeyCardCheckbox"
                    },
                    {
                        "name": "Keycard",
                        "value": "01-16147133535064576585-1",
                        "propertyId": "additionalProperty.keyCard"
                    },
                    {
                        "propertyId": "ds_offerTravelerId",
                        "value": "52fb365a-64e8-426f-996b-fe3eced28fe7"
                    }
                ]
            }
        ]
    }
}

Profile media and supporting documents

To be able to add a profile picture to the traveler:

  • Upload the pictures as ProfileMedia with additionalType 'TravelerProfileImage' -> Profile service endpoints
  • Then reference the media identifier in the profilePicture property of the traveler

To be able to add a supporting document in the traveler or the orderItem:

  • Upload the pictures as ProfileMedia with additionalType 'SupportingDocument' -> Profile service endpoints
  • Then reference the media identifier in the 'supportingDocument'

When saving this data to a party or inside an orderitem the references are validated.

Keycards and SwissPass

Cards (KeyCards and SwissPass and others) can be saved in the Profile as independent objects. A client application can then access it and offer the guest to use one of these cards during the order process. -> Profile service endpoints

The card objects are not referenced in the order. The client application must use their data to fill the appropriate properties in the Traveler object:

Card Additional Property in the Traveler request
identifier -
AdditionalType propertyId
Name Description
CardNumber value