Toss the squash cubes and the onion slices with a bit of olive oil and salt.
Spread them on a baking sheet and roast, stirring occasionally, until the squash is tender and the onions are starting to crisp at the tips, about 30 minutes. Allow to cool before combining with other ingredients.
Cover the cranberries with very hot water and set them aside to plump while the squash is cooking.
Drain before combining with the other ingredients.
Bring the water to a boil in a small saucepan. Remove the pan from heat, and stir in the couscous and 1/2 teaspoon of salt.
Cover and let sit for about 15 minutes until the couscous has absorbed all the water. Fluff the couscous with a fork and set aside.
In a small bowl, whisk together vinegar, olive oil, zest, spices, and 1 teaspoon of salt.
Combine squash, onions, couscous, garbanzo beans, and drained cranberries in a large bowl.
Pour the dressing over the salad and stir to combine.