The package provides specialized builders for every pass type supported by Apple Wallet and Google Wallet. Because Apple and Google use different naming conventions and data structures, you must select the builder corresponding to the specific platform you are targeting.
Each builder provides type-specific setters, while all builders share common methods: save(), addToWalletUrl(), and expire().
Important: Builders are not interchangeable between platforms. Apple builders reside in the Spatie\\LaravelMobilePass\\Builders\\Apple\\... namespace, and Google builders reside in the Spatie\u005cLaravelMobilePass\\Builders\\Google\\... namespace. To support both platforms for a single conceptual pass (e.g., a loyalty card), you must implement the logic twice using both the Apple and Google builders.
| Apple Builder | Google Builder | Typical Use Case |
| :--- | :--- | :--- |
| `AirlinePassBuilder` | `BoardingPassBuilder` | Flight boarding passes |
| `TrainPassBuilder` | — | Train/rail boarding passes |
| `EventTicketPassBuilder` | `EventTicketPassBuilder` | Concerts, festivals, sports events |
| `CouponPassBuilder` | `OfferPassBuilder` | Discount codes, limited-time offers |
| `StoreCardPassBuilder` | `LoyaltyPassBuilder` | Loyalty cards, membership programs |
| `GenericPassBuilder` | `GenericPassBuilder` | Anything that doesn't fit the above |