Suppose that there’s a website about some events people can book a seat for, and there’s a separate web app that handles the booking process. When the user decides to go about booking a seat (or several seats) for that event and clicks on a “Book now” button, they are navigated to the booking app and the id
for that event is passed in the URL.
Currently, the URL on which the user lands after clicking the “Book Now” button is /booking/new-request/{event-id}
and the user is asked for their information such as number of participants/guests and their information and finally the user is billed.
I’ve been wondering, maybe the URL should be like /booking/new-request?eventId={event-id}
. But I didn’t have enough facts and reason to accept or reject my own argument. I just have a gut feeling that it might be better this way, as well as thinking to myself that this URL doesn’t function like a details page, it’s not going to be crawled by search engines, it’s not going to be cached, etc.
How do you figure that out?
For even more context:
The app is actually hosted behind the same domain name beside the website using a reverse proxy. So, for example you visit https://www.example.com
then go on to land on the details page of a specific event that you are interested in, with the URL https://www.example.com/events/1234/slug-of-the-event
. The reverse proxy is configured to pass requests to /booking/*
to the booking app so the user lands on https://www/example.com/booking/new-request/1234
. The booking app is an SPA developed using Vue.js