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.