generated: '2026-10-09' method: derived generator: derive-data-model.py source: - openapi/publiq-museumpassmusees-partner-openapi.yml - openapi/publiq-uitdatabank-entry-openapi.yml - openapi/publiq-uitdatabank-search-openapi.yml - openapi/publiq-uitdatabank-taxonomy-openapi.yml - openapi/publiq-uitpas-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 70 entities_in_spec: 70 relationships: 55 entities: - name: Association fields: 3 description: Association - name: AssociationMembership fields: 5 - name: AssociationsPaginatedResponse fields: 2 description: Paginated response object for associations - name: Card fields: 5 description: Representation of an UiTPAS card. - name: CardSystem fields: 9 description: A region, usually one or multiple municipalities in Belgium, that uses UiTPAS and provides discounts and/or rewards. For example "Paspartoe" (Brussels), UiTPAS Leuven, UiTPAS Hasselt, UiTPAS Gent, and - name: CardSystemCitySettings fields: 3 description: CardSystemCitySettings - name: CardSystemMembership fields: 5 description: Membership info of an individual passholder in a specific card system. - name: CardSystemMembershipCard fields: 3 description: Representation of an UiTPAS card embedded in a CardSystemMembership. - name: CardSystemSocialTariffSettings fields: 2 description: CardSystemSocialTariffSettings - name: CardSystemsPaginatedCollection fields: 2 description: Paginated response object for card systems - name: Checkin fields: 7 description: Model used both for registering and searching checkins. - name: CheckinStatus fields: 2 description: The status of a potential checkin, including an `endUserMessage` when it's not allowed. - name: CheckinsPaginatedCollection fields: 2 description: Paginated collection object for checkins - name: City fields: 2 - name: DownloadLinkResponse fields: 1 - name: Error fields: 6 description: RFC7807 error model for all publiq APIs. - name: EventCardSystem fields: 4 description: CardSystem in an event context, optionally including manual distributionKeys. - name: EventSettings fields: 4 description: Event setting within UiTPAS - name: Facet fields: 0 description: Each property is a possible filter value, mapping to an object with a human-readable name and amount of results if the filter value is applied in combination with the other active filters. - name: FamilyMember fields: 5 description: The `FamilyMember` entity including basic information about the `Passholder` family member. - name: GrantedCoupon fields: 5 - name: Grouppass fields: 10 description: 'Grouppass is a special kind of UiTPAS concept: it has an `uitpasNumber` like regular passholders, but it can only participate in ticket sale flows (either social tariff or using coupons). ' - name: GrouppassesPaginatedResponse fields: 2 description: Paginated response object for grouppasses - name: KioskDevice fields: 7 description: Representation of the kiosk entity - name: KioskDeviceCheckinRequest fields: 1 - name: KioskDeviceCheckinResponse fields: 2 description: Checkin via kiosk response - name: KioskDeviceEvent fields: 3 description: Event model used in Kiosk APIs - name: KioskDeviceEventRequest fields: 1 description: Model to configure the kiosk event - name: KioskDeviceSetup fields: 2 - name: KioskPass fields: 1 description: Pass information - name: KiosksPaginatedCollection fields: 2 description: Paginated response object for kiosks. - name: LinkedOrganizerPermissions fields: 2 description: Combination of organizer and its permissions, specifically targetted to be used when linked to another organizer. - name: Location fields: 2 description: Location model - name: MembershipPrice fields: 3 description: The MembershipPrice describes the price an UiTPAS membership in a specific cardsystem for a new or existing passholder. - name: MembershipRequest fields: 6 description: Membership request model - name: Order fields: 11 description: Order object - name: Organizer fields: 5 description: An organisation that partners with UiTPAS to provide discounts and/or rewards, and/or allows points to be collected at their events. - name: OrganizerAdmin fields: 3 description: An admin user for an organizer. - name: OrganizerAdminsPaginatedCollection fields: 2 description: Paginated response object for organizer admins. - name: OrganizerPermissions fields: 4 description: Combination of organizer and its permissions - name: OrganizersPaginatedResponse fields: 2 description: Paginated response object for organizers - name: Pass fields: 7 - name: Passholder fields: 29 description: 'Person who holds an UiTPAS, the end-user of an UiTPAS. ' - name: PassholderPicture fields: 1 - name: PassholderRegistration fields: 18 description: Registration request of a passholder, mainly used in the online order flow. - name: PassholderSelfRegistration fields: 8 - name: PassholdersPaginatedResponse fields: 2 description: Paginated response object for passholders - name: Period fields: 2 description: Period entity with a begin and optional end date. - name: PeriodLimit fields: 2 description: Period limit settings - name: PermissionDetail fields: 3 description: Permission details - name: PrivateProperties fields: 2 description: Private properties of a passholder - name: RedeemedReward fields: 5 - name: RedeemedRewardsPaginatedResponse fields: 2 description: Paginated response object for rewards - name: Report fields: 5 description: The status of a report export. - name: ReportPeriod fields: 2 description: Date range for which to export a list of financial transactions. - name: Reward fields: 25 description: Reward model - name: RewardsPaginatedResponse fields: 3 description: Paginated response object for rewards - name: SocialTariffValidation fields: 2 description: SocialTariffValidation information - name: SocialTariffValidationPerson fields: 10 description: SocialTariffValidationPerson - name: SocialTariffValidationTokenRequest fields: 2 description: SocialTariffValidationTokenRequest - name: SocialTariffValidationTokenResponse fields: 1 description: SocialTariffValidationTokenRequest - name: Tariff fields: 4 description: The Tariff describes the discounted price a passholder has to pay for a given ticket. - name: TariffAvailibility fields: 0 description: The `TariffAvailibility` includes all information about the `Tariff`, which describes the discounted price a passholder has to pay for a given ticket, and the `remaining` number of tickets this passho - name: TariffsResponse fields: 2 description: Response object for tariffs - name: TicketSale fields: 10 description: Model used both for registering new ticket sales and when searching for past ticket sales. - name: TicketSalesPaginatedResponse fields: 2 description: Paginated response object for ticket sales - name: Transaction fields: 4 description: Transaction - name: TransactionsPaginatedCollection fields: 2 description: Paginated response object for transactions - name: VoucherList fields: 2 - name: common-facet fields: 3 description: A single facet for a specific filter. Every facet has a human-readable name and total count to show to end-users to drill down search results. relationships: - from: Pass to: Passholder type: belongs_to via: passholderId - from: TicketSale to: Tariff type: belongs_to via: tariffId - from: TicketSale to: Tariff type: has_one via: tariff - from: TicketSale to: Passholder type: has_one via: passholder - from: Checkin to: Passholder type: has_one via: passholder - from: OrganizerPermissions to: Organizer type: has_one via: organizer - from: OrganizerPermissions to: PermissionDetail type: has_many via: permissionDetails - from: OrganizerPermissions to: LinkedOrganizerPermissions type: has_many via: linkedOrganizers - from: LinkedOrganizerPermissions to: Organizer type: has_one via: organizer - from: LinkedOrganizerPermissions to: PermissionDetail type: has_many via: permissionDetails - from: PermissionDetail to: CardSystem type: belongs_to via: cardSystemIds - from: Organizer to: CardSystem type: has_many via: cardSystems - from: PassholdersPaginatedResponse to: Passholder type: has_many via: member - from: GrouppassesPaginatedResponse to: Grouppass type: has_many via: member - from: RewardsPaginatedResponse to: Reward type: has_many via: member - from: RedeemedRewardsPaginatedResponse to: RedeemedReward type: has_many via: member - from: OrganizersPaginatedResponse to: Organizer type: has_many via: member - from: OrganizerAdminsPaginatedCollection to: OrganizerAdmin type: has_many via: member - from: KiosksPaginatedCollection to: KioskDevice type: has_many via: member - from: AssociationsPaginatedResponse to: Association type: has_many via: member - from: CheckinsPaginatedCollection to: Checkin type: has_many via: member - from: TicketSalesPaginatedResponse to: TicketSale type: has_many via: member - from: Passholder to: CardSystemMembership type: has_many via: cardSystemMemberships - from: Passholder to: Organizer type: has_one via: registrationOrganizer - from: PassholderRegistration to: Organizer type: has_one via: registrationOrganizer - from: Grouppass to: CardSystem type: has_one via: cardSystem - from: PassholderSelfRegistration to: CardSystem type: has_one via: cardSystem - from: PassholderSelfRegistration to: Organizer type: has_one via: registrationOrganizer - from: FamilyMember to: Passholder type: has_one via: passholder - from: CardSystemMembership to: CardSystem type: has_one via: cardSystem - from: CardSystemMembership to: CardSystemMembershipCard type: has_one via: currentCard - from: CardSystem to: City type: has_many via: cities - from: Report to: ReportPeriod type: has_one via: period - from: TariffsResponse to: TariffAvailibility type: has_many via: available - from: Reward to: Period type: has_one via: publicationPeriod - from: Reward to: Period type: has_one via: grantingPeriod - from: Reward to: CardSystem type: has_one via: owningCardSystem - from: Reward to: CardSystem type: has_many via: applicableCardSystems - from: Reward to: Organizer type: has_many via: organizers - from: Reward to: Period type: has_one via: redeemPeriod - from: RedeemedReward to: Reward type: has_one via: reward - from: CardSystemsPaginatedCollection to: CardSystem type: has_many via: member - from: TransactionsPaginatedCollection to: Transaction type: has_many via: member - from: Order to: PassholderRegistration type: has_one via: mainPassholderRegistration - from: Order to: PassholderRegistration type: has_many via: extraPassholderRegistrations - from: Card to: CardSystem type: has_one via: cardSystem - from: KioskDevice to: Organizer type: has_many via: organizers - from: KioskDevice to: Location type: has_many via: locations - from: KioskDevice to: CardSystem type: has_one via: cardSystem - from: EventSettings to: PeriodLimit type: has_one via: passholderTicketLimit - from: EventSettings to: PeriodLimit type: has_one via: checkinLimit - from: SocialTariffValidation to: SocialTariffValidationPerson type: has_one via: user - from: SocialTariffValidation to: SocialTariffValidationPerson type: has_many via: children - from: AssociationMembership to: Association type: has_one via: association - from: MembershipRequest to: Organizer type: has_one via: registrationOrganizer