using Fitness_core_BE.DTOs.CustomerSubscription; using Microsoft.AspNetCore.Http; namespace Fitness_core_BE.Interfaces.Services { public interface ICustomerSubscriptionService { Task CreateCustomerSubscription(object payload, HttpContext httpContext); Task GetCustomerSubscriptionById(object payload, HttpContext httpContext); Task GetCustomerSubscriptionsByCustomerId(object payload, HttpContext httpContext); Task GetActiveSubscriptionByCustomerId(object payload, HttpContext httpContext); Task GetSubscriptionSummary(object payload, HttpContext httpContext); Task AddMemberToSubscription(object payload, HttpContext httpContext); Task RemoveMemberFromSubscription(object payload, HttpContext httpContext); Task> BuildSummariesForCustomerAsync(Guid customerId); // Optional extra fees on a subscription (req 6 — e.g. coaching fee, once or recurring). Task> GetExtraFeesAsync(Guid subscriptionId, HttpContext httpContext); Task AddExtraFeeAsync(Guid subscriptionId, AddExtraFeeRequest request, HttpContext httpContext); } }