Unfortunately no, (and yes, you're right) you can't add collection items to a record that does not yet exist; the Request is only created when you check out. This is also why process dependent features (eg. autoprompt) wont work either.
As for selectively enabling the shopping cart for different services, this isn't possible either by design, although you could raise an ER.
If you were to put all the collection attributes directly on the Request window, you could try using dynamic windows to only display the attributes you need to display for the given Service. Depending on how many attributes you need to show/hide/make mandatory/etc your calculation could become rather large...
Hope that helps!
Thanks for your reply
Dynamic windows was the way that I was thinking of going but if i put this into context you can see why i don't really want to go down the route of adding each one to the request object.
It's an equipment move request and each item to move needs to be specified (PC, printer, phone, other) and for each type of equipment there may be upto 20 items. Different items types have different things that need to be specified e.g. phone number, PC socket number etc. so this means that i need to create 20 of these for each equipment type and then use dynamic window rules to make them appear and also to make the correct attributes appear for each equipment type that will be added.
Now I haven't tried this yet but that is going to be a rather large and complicated calculation as well as a lot of attribute creation. It just feels like a really horrible way of doing it
I can't think of another way of doing it though
I suppose that another way of doing it would be add each equipment type move as a Configuration Item in the Service catalogue, but this would mean that for each item that was being moved there would be lot of repeated information i.e. "move from location", "move to location" and you would need to repeat this for each item. There is also quite a bit of header information such as the Cost of the Move and authorisation for the spend which would be a nonsense to carry out for each item to be moved.
I don't think that a bundle would work either as there would be different items in the bundle each time. A bundle that you could configure on the fly would be ideal and I think is the closest description.
Think aloud..... a general Move Equipment Service listed separately to all of the equipment types that could need moving might work, but then we would have to deal with a single move as separate requests which would get really messy and admin heavy. It needs to to be one Configuration Item with items attached to it i think.
Hmmmm........... any thoughts?