A DJ can only play so many songs. Requests shouted across the dance floor are loud, hard to remember and often forgotten by midnight. I would collect them weeks ahead in one link, so the set can be built around what people want.
The song
Title, artist and an optional link. These make each request clear, because many songs have more than one version.
The moment
A mood choice (slow dance, singalong, floor filler, throwback or dinner music) and who the song is for. This tells the DJ where in the night it belongs. A dedication note gives the DJ a story to share.
The limits
A tick box for the clean version, and a box for songs a guest would rather not hear. These protect the mood in a mixed crowd, from grandparents to children.
Who fills it and who reads it
Guests fill it in. The couple, the planner or the DJ reads the CSV. A guest can also ask their own AI. It might ask "Which song would you like to hear?" Then "Who is it for?" Then "Is it a floor filler or a slow dance?" It shows all the answers and sends only after a yes. See agent-fillable forms.
A tip
Put the link beside your invitation reply and set close_at a week before the day, so the DJ has time to prepare. Pair it with a wedding RSVP form and a wedding guest book. Hiring a DJ or planner first? An event planner questionnaire covers the inquiry. Browse forms for weddings and forms for events.
Questions
How does the DJ sort a long list of requests?
Download the CSV and sort by dance_mood. That groups slow dances, singalongs and floor fillers, so the DJ can slot each request into the right part of the night.
Can guests say which songs not to play?
Yes. An optional box collects songs a guest would rather not hear. Read it beside the couple's own do-not-play list before you build the set.
Does a guest need a streaming link?
No. The link is optional, and title and artist are enough. A link helps when a song has many versions, because the DJ can open the one the guest means.