/// <summary>
        /// Start a new dining service in a specified venue area, if one does not already exist.
        /// If the area already has an active service, this should fail.
        ///
        /// Assumes that the database object will throw the error that an active service exists.
        /// </summary>
        /// <param name="managerId">Manager ID</param>
        /// <param name="venueId">Target venue ID</param>
        /// <param name="areaId">Target area ID</param>
        /// <returns>The created dining service document</returns>
        public async Task <DiningServiceDocument> StartDiningService(string managerId, string venueId, string areaId)
        {
            // Ensure the manager has access to the given service.
            await _EnsureManagerCanAccessVenue(managerId, venueId);

            // Start a new dining service and return it.
            return(await _database.StartDiningService(venueId, areaId));
        }