Rinse chicken, remove giblets, and place in a large stockpot or Dutch oven. Add in stock, cooking wine, scallions, ginger, and bagged herbs.
Bring to a gentle simmer over medium heat and scoop off any foam that rises to the surface. Continue at a gentle simmer until the chicken is cooked through and falls off the bone, about 45 minutes.
Carefully remove chicken from the broth and allow time to cool before removing the meat (and skin if you like it).
Return carcass to broth, cover, and cook at a very gentle simmer for a clearer broth, about 3 hours, or a light boil for a creamier broth, about 2 hours.
Strain broth, discarding chicken carcass and aromatics. Return broth to the pot, add in chicken meat, and mushrooms. Remove goji berries and dates from the bag and add them to the broth too. Simmer until mushrooms are cooked through, about 2-4 minutes.
Season with additional salt, pepper, or soy sauce as needed. Garnish with chopped scallions and enjoy!