Building Promotions Into the Ordering Integration

In order to enable BOGO (buy-one-get-one-free) and Free Item Minimum Spend promotions, you will need to make some changes to your UTF integration using the updated API Documentation found here (found in the Body section under promotions:). Additionally, you may need to work with your POS provider to avoid any manual reconciliation; for example, a price override to make the free item inject into the POS at a cost of $0.00.

<aside> 🆕

BOGO promotions are coming to Skip in August/September 2025! Please stay tuned for more information on exact release dates from your JETC delivery contact, and Skip partnerships manager.

We are eager to hear your feedback throughout for this feature, please report any issues or positive findings throughout testing and release!

</aside>

Once you have made the necessary integration changes to receive promotional items, please notify us, and your SkipTheDishes account managers so that we may update our records. From here, the rest of the process will occur on the restaurant portal using the self-serve promotions page. If any questions arise that our APIs do not address, please reach out to JETC and your Skip account manager for more information, or to talk promotional strategy.

Did you know restaurants that currently use Free Item Promotions have seen, on average

Untitled

Sample payload for a Free Item Minimum Spend order

id: v4(),
    location: {
        id: 2,
        timezone: 'Europe/London',
    },
    driver: {
        first_name: 'Jotaro',
        last_name: 'Kujo',
        phone_number: '12312321',
    },
    items: [{
        name: 'Family Bundle for 4',
        plu: '600001',
        price: 2599,
    }, ],
    promotions: [{
        type: PromotionType.FREE_ITEM_MIN_BASKET,
        items: [{
            name: 'Sausage Breakfast Sandwich',
            plu: '606844',
            price: 379,
            children: [{
                  name: 'Bagel instead of bread',
                  plu: '601573',
                  price: 0,
              },
            ],
        }, ]
    }],
    created_at: futureDateInSeconds(0),
    channel: {
        id: 100,
        name: 'SKIP',
    },
    collect_at: futureDateInSeconds(1),
    collection_notes: 'Please leave by front door',
    kitchen_notes: 'Add salt',
    third_party_order_reference: '12345678',
    total: 128,
    payment_method: PaymentMethod.Card,
    tender_type: 'SKIP',
    payment: {
        items_in_cart: {
            inc_tax: 119,
            tax: 9,
        },
        final: {
            inc_tax: 119,
            tax: 9,
        },
        adjustments: [],
    },
    delivery: {
        first_name: 'Bat',
        last_name: 'Man',
        phone_number: '28 05 2003',
        line_one: '13/16, Elm St',
        line_two: 'Flyt',
        city: 'London',
        postcode: 'WC1X 0BL',
        email: '[email protected]',
        coordinates: {
            latitude: 51.509865,
            longitude: -0.118092,
            latitude_as_string: '51.509865',
            longitude_as_string: '-0.118092',
        },
        phone_masking_code: "test",
    },

Sample payload for a BOGO order

<aside> ⚠️

If your menus use day-parts, some items may not be eligible for BOGO. If this problem arises when accessing the self-serve portal, please reach out to your Skip partnership manager for more information.

</aside>

id: v4(),
    location: {
        id: 2,
        timezone: 'Europe/London',
    },
    driver: {
        first_name: 'George',
        last_name: 'Costanza',
        phone_number: '5555555555',
    },
    items: [{
        name: 'The Big Salad',
        plu: '78946',
        price: 899,
        children: [{
                  name: 'Bigger Tomatoes',
                  plu: '601573',
                  price: 0,
    }, ],
    promotions: [{
        type: PromotionType.BUY_ONE_GET_ONE_FREE,
        items: [{
            name: 'The Big Salad',
            plu: '78946',
            price: 899,
            children: [{
                  name: 'Bigger Tomatoes',
                  plu: '601573',
                  price: 0,
              },
            ],
        }, ]
    }],
    created_at: futureDateInSeconds(0),
    channel: {
        id: 100,
        name: 'SKIP',
    },
    collect_at: futureDateInSeconds(1),
    collection_notes: 'Please leave by front door',
    kitchen_notes: 'Add salt and pepper',
    third_party_order_reference: '12345678',
    total: 128,
    payment_method: PaymentMethod.Card,
    tender_type: 'SKIP',
    payment: {
        items_in_cart: {
            inc_tax: 943,
            tax: 44,
        },
        final: {
            inc_tax: 943,
            tax: 44,
        },
        adjustments: [],
    },
    delivery: {
        first_name: 'Cosmo',
        last_name: 'Kramer',
        phone_number: '284 045 1992',
        line_one: '13/16, Elm St',
        line_two: 'Flyt',
        city: 'London',
        postcode: 'WC1X 0BL',
        email: '[email protected]',
        coordinates: {
            latitude: 51.509865,
            longitude: -0.118092,
            latitude_as_string: '51.509865',
            longitude_as_string: '-0.118092',
        },
        phone_masking_code: "test",
    },