semi-fungible token
A semi-fungible token sits between fully fungible and fully unique: units are interchangeable within a class but distinct across classes. Think of concert tickets — every 'Section A, Saturday' ticket is identical to and swappable with any other (fungible within that class), but it is not the same as a 'Section B, Sunday' ticket (distinct across classes). Or think of in-game potions: a hundred identical health potions are mutually fungible, yet wholly different from mana potions.
ERC-1155 is the natural home for this. Each token id defines a class, and the supply minted under that id can be greater than one, so the holders of id 7 hold equal, interchangeable units of 'thing number 7', while id 8 is a different thing entirely. This is more efficient than minting a thousand unique ERC-721 NFTs for a thousand copies of the same item, and more expressive than a single ERC-20 that cannot distinguish item types. A dedicated standard, ERC-3525, goes further by giving a token both a unique id and a fungible 'value' within a shared 'slot', useful for things like bonds or fractionalized assets.
Semi-fungibility also models items that change category over their life. A common pattern is a token that is fungible while it represents a redeemable claim (say, a thousand identical 'mystery box' tokens) and then becomes non-fungible once opened or redeemed (each box reveals a unique item). This ability to mint many identical units cheaply and later differentiate or burn-and-replace them is exactly why games, event tickets, editions, and coupons gravitate to the semi-fungible model.
Semi-fungible is not a separate token type so much as a usage pattern of ERC-1155: fungibility is per-id, so a class with supply > 1 is fungible, and a class with supply 1 is an NFT — both in the same contract.