Or should I just create 2 Offers (and no Event) for each row and use availabilityStarts and availabilityEnd to describe the From/To dates of the pricelist?
Yes, I think that would be (more) appropriate.
An alternative could be to have one Event
per destination and nest all available Offer
s (via offers
) under it:
Event: Yacht tour from xyz to Cyclades
offers → Offer: a cabin, available from 01/05/2014 to 31/05/2014, 970 EUR
offers → Offer: whole yacht, available from 01/05/2014 to 31/05/2014, 11140 EUR
offers → Offer: a cabin, available from 01/06/2014 to 30/06/2014, 1030 EUR
offers → Offer: whole yacht, available from 01/06/2014 to 30/06/2014, 13140 EUR
…
Event: Yacht tour from xyz to Sporades
offers → Offer: a cabin, available from 01/07/2014 to 31/08/2014, 1190 EUR
offers → Offer: whole yacht, available from 01/07/2014 to 31/08/2014, 15140 EUR
(might be tricky with table markup)
However, Schema.org defines that Event
is for a specific event, "happening at a certain time and location". So using Event
might not be appropriate here.
In either case, should I nest the whole table in AggregateOffer?
No. AggregateOffer
is a more specific Offer
(i.e., a sub-type), not a container for several Offer
s. So either use Offer
or AggregateOffer
.
AggregateOffer
could make sense if you want to specify how many cabins/yachts are available/left (via offerCount
) for each timeframe.