diff --git a/services/integration/invoiceIntegration.js b/services/integration/invoiceIntegration.js index 5247a67..b850291 100644 --- a/services/integration/invoiceIntegration.js +++ b/services/integration/invoiceIntegration.js @@ -225,11 +225,17 @@ const createFeeFromBooking = (booking, resourceMappings) => { } }; -const createNegativeFeeForDiscount = (memberData) => { +const createNegativeFeeForDiscount = (memberData, dateRange) => { const { bookingData, member, membershipFee } = memberData; const { totalBookedHours, totalChargedHours, totalBookingChargedFee } = bookingData; const { memberId, officeId } = member; + + let endDate = moment.utc().endOf('day').toISOString(); + if (dateRange.endDate){ + endDate = moment.utc(dateRange.endDate, DEFAULT_DATE_FORMAT).endOf('day').toISOString(); + } + const totalChargeFee = membershipFee + totalBookingChargedFee; let discount = 0; @@ -255,7 +261,7 @@ const createNegativeFeeForDiscount = (memberData) => { name: formattedName, price: -discount.toFixed(2), quantity: 1, - date: moment.tz(UI_TIMEZONE).format(), + date: endDate, member: memberId, team: null, office: officeId, @@ -311,6 +317,7 @@ const getMembersFeesForDateRange = (dateRange, memberIds) => { if (canceled) { reservationIdsForAdditionalData.push(reservationId); } else { + allActiveBookings.push(booking); membersMap[memberId].bookingData.totalChargedHours += bookingLength; const bookingFee = bookingLength * hourlyRate; @@ -347,7 +354,7 @@ const getMembersFeesForDateRange = (dateRange, memberIds) => { //add discount memberIds.forEach((memberId) => { - allFees.push(createNegativeFeeForDiscount(membersMap[memberId])); + allFees.push(createNegativeFeeForDiscount(membersMap[memberId], dateRange)); }); allFees.forEach((fee) => {