in inventory-release/main.go [41:72]
func handler(ctx context.Context, ord models.Order) (models.Order, error) {
	log.Printf("[%s] - processing inventory release", ord.OrderID)
	// Find inventory transaction
	inventory, err := getTransaction(ctx, ord.OrderID)
	if err != nil {
		log.Printf("[%s] - error! %s", ord.OrderID, err.Error())
		return models.Order{}, models.NewErrReleaseInventory(err.Error())
	}
	// release the items to the inventory
	inventory.Release()
	// save the inventory transaction
	err = saveTransaction(ctx, inventory)
	if err != nil {
		log.Printf("[%s] - error! %s", ord.OrderID, err.Error())
		return ord, models.NewErrReleaseInventory(err.Error())
	}
	ord.Inventory = inventory
	// testing scenario
	if ord.OrderID[0:2] == "33" {
		return ord, models.NewErrReleaseInventory("Unable to release inventory for order " + ord.OrderID)
	}
	log.Printf("[%s] - reservation processed", ord.OrderID)
	return ord, nil
}