Add Shopping Item To Basket
This function adds a new shopping basket item to the current cached
shopping basket. If a shopping basket does not already exist then a
new one is created.
The shopping basket is tied to the active session and is valid only
as the session is. Where possible basket items are "held" meaning
that that space or slot is reserved until you checkout.
Reserved items are only held for a number of minutes unless another
message is sent to keep the held item active, otherwise it is
released back to allow another customer to book it.
A shopping basket is not actually required - it is possible to
checkout in a single message via the Admin API, passing in all of the details required
to book an item, but a shopping basket can be used to cache and
handle multiple items, as well as deal with complicated issues such as
applying and validating coupons, packages and discounts.