IKEA UK is currently selling "student boxes", which is grab-kit thing for new kitchens.

in the store, it has a gnarly 16-square data matrix barcode that reads:

9100005240802984743012405013758130124060143992301240601439923012408707770030124050525642301240502583233012405025832330124000081534301240902022683012400034300330124080258915301240802589153012400031894230124000318942301240302589133012403025891330124030407814301240402784683012403010297430124070455087301240005452183012403052193730124060521945301

all ikea items have a 8-digit article number. with some visual pattern matching, it seems like:

• 9100005 240 is the prefix for "heads up there are a load of item codes coming up in this barcode". there are 24 items in this box, so maybe the 24 means that.
• the first item is 80298474, a pot
• each item is then separated by 301 240
• the last item is 60521945, a colander, and
• the suffix is 301

given the item separator also has '24' in it, i can't tell whether this just a coincidence or they also indicate the length of the item list; so maybe don't compile a barcode that has 15 blahajs for the funny just yet.

edit: thankies for the replies, it seems like i have not occam razor’s hard enough — 240 might just be a generic “item code begin” separator (and 301 being a generic “item code end” separator)

reminds me of the prank of "scan this coupon barcode to get x% off at tesco" and it turns out to be an adult toy item code

it would be really funny if, say, an online IKEA "25% off" coupon ends up adding 20 bags of plant balls right into the shopping cart

I did vaguely remember seeing student boxes in the US as well, but i have long forgotten its barcode situation

compared to the approach of creating a meta item that includes all the including items, this approach of just using a list of including items' codes is waaaay more flexible and saves a lot of headache for the department that maintains the items db

@kuriko does this one need to plan an ikea trip

update: found another “student pack” from ikea, with fewer items this time.

910000524070429003301240105798683012404038125330124090460573301240303565793012406056543030124010606051301240205038873012402031707930124010056770301240004285493012403055360730124040295439301

so, many commenters in the original post is right:

9100005 is a common header indicating a multi item barcode
240 is item start
301 is item end, with no checksum or list length information

this does mean crafting a data matrix barcode for your whole cart is theoretically possible, but it will look incredibly suspicious to staff if one does not scan any items at the checkout but instead a big funny data matrix on a mobile device  

i wonder whether the “checkout via app” is build upon this, time to find out next time i head to ikea 

anyways, 10% off coupon code for your next IKEA UK shop!

THAT WILL TOTALLY NOT ADD 16 GREEN GLEEP GLORPS INTO YOUR BASKET

@kuriko get it printed as sticker and put it over some other random barcode
@lea hmmm I would need a label printer that can print bitmap or supports data matrix codes natively, that sounds like specialized equip-
@kuriko it is slightly different, I guess the code is for the card tied to your account
@kuriko Looks to me like 240 is “beginning of item code” and 301 is “end of item code”. Quite possibly there’s a type encoded in there but they’re all the same type. Possibly the header encodes the number of items but probably it’s already bounded by the barcode format so it just goes until end of data.

@kuriko Interesting!

I think it more likely that there is a general prefix of 9100005, and that each item is then delimited by 240 ... 301, with it being a coincidence that there are 24 of them when the data runs out. But that's pure speculation on my part, and I think you're otherwise correct

@kuriko there are boxes with 20 items, but the images of the barcode I have found online are not good enough to decode it.

Image source:
https://www.davidpullara.com/post/anticipating-customer-needs

@kuriko

> so maybe don't compile a barcode that has 15 blahajs for the funny just yet.

Why not? How else would you find out which one of these two possibilities it is?

@agowa338 i’m not curious about the encoding enough to overrule the risk of getting the self checkout locked up and then interrogated by the staff ><

@kuriko

Well can always claim plausible deniability, like just fake an ikea social media post saying this is a discount code. Make a shitty screenshot of it and say someone sent you that...