public async Task ExecuteAsync()
        {
            IEnumerable <Settlement> settlements = await _settlementRepository.GetActiveAsync();

            foreach (Settlement settlement in settlements)
            {
                try
                {
                    await ReserveAsync(settlement);

                    await TransferAsync(settlement);

                    await CompleteAsync(settlement);
                }
                catch (Exception exception)
                {
                    _log.WarningWithDetails("An error occurred while processing settlement", exception, settlement);
                }
            }
        }