In Pluvo, an Offer is used to provide participants with a registration opportunity. It's an overarching registration offer that is made available through one or more OfferEvents. Participants ultimately register for an OfferEvent
, but the management of content and visibility starts with the Offer
.
Retrieves one specific offer based on ID or ref.
query {
offer(id: "uuid-hier") {
id
title
description
archivedAt
}
}
Provides a list of all (active) registration offers.
query {
offers {
id
title
isActive
}
}
Creates a new registration offer. You can specify the title and description, as well as the connections with content.
mutation {
createOffer(
offer: {
title: "Inschrijving Projectmanagement",
description: "Schrijf je in voor deze training.",
isActive: true
}
) {
offer {
id
title
}
}
}
Modifies an existing offer. Useful for adjusting name, status, or content.
mutation {
updateOffer(
id: "uuid-hier",
offer: {
title: "Geüpdatete inschrijving"
isActive: false
}
) {
offer {
id
title
isActive
}
}
}
Archives one or more offers, making them no longer visible to users.
mutation {
archiveOffers(
archive: true,
ids: ["uuid-1", "uuid-2"]
) {
response {
succeededIds
failedIds
}
}
}
The Offer
type contains the core data of a registration offer, such as title, status, linked training, and registration settings.
type Offer {
id: ID!
ref: String
title: String!
description: String
isActive: Boolean
archivedAt: DateTime
createdAt: DateTime
updatedAt: DateTime
offerEvents: [OfferEvent!]
}
offer(id: UUID, ref: String): Offer
offers: [Offer!]!
createOffer(offer: CreateOfferInput!): CreateOfferPayload
updateOffer(id: UUID!, offer: UpdateOfferInput!): UpdateOfferPayload
archiveOffers(archive: Boolean!, ids: [UUID!]!): ArchiveOffersPayload
Offer
is not directly registrable — that happens through OfferEvents
.Offer
, for example for different start dates.deleteOffer
available — use archiveOffers
.