package com.petshop.backend.dto.cart;

import java.math.BigDecimal;
import java.util.List;

public class CartResponse {

    private Long cartId;
    private Long storeId;
    private String cartStatus;
    private List<CartItemResponse> items;
    private BigDecimal subtotalAmount;
    private BigDecimal discountAmount;
    private BigDecimal pointsDiscountAmount;
    private BigDecimal totalAmount;
    private String couponCode;
    private String couponDiscountType;
    private BigDecimal couponDiscountValue;
    private Boolean pointsApplied;
    private Integer availableLoyaltyPoints;
    private Boolean checkoutPending;

    public CartResponse() {
    }

    public Long getCartId() { return cartId; }
    public void setCartId(Long cartId) { this.cartId = cartId; }

    public Long getStoreId() { return storeId; }
    public void setStoreId(Long storeId) { this.storeId = storeId; }

    public String getCartStatus() { return cartStatus; }
    public void setCartStatus(String cartStatus) { this.cartStatus = cartStatus; }

    public List<CartItemResponse> getItems() { return items; }
    public void setItems(List<CartItemResponse> items) { this.items = items; }

    public BigDecimal getSubtotalAmount() { return subtotalAmount; }
    public void setSubtotalAmount(BigDecimal subtotalAmount) { this.subtotalAmount = subtotalAmount; }

    public BigDecimal getDiscountAmount() { return discountAmount; }
    public void setDiscountAmount(BigDecimal discountAmount) { this.discountAmount = discountAmount; }

    public BigDecimal getTotalAmount() { return totalAmount; }
    public void setTotalAmount(BigDecimal totalAmount) { this.totalAmount = totalAmount; }

    public String getCouponCode() { return couponCode; }
    public void setCouponCode(String couponCode) { this.couponCode = couponCode; }

    public String getCouponDiscountType() { return couponDiscountType; }
    public void setCouponDiscountType(String couponDiscountType) { this.couponDiscountType = couponDiscountType; }

    public BigDecimal getCouponDiscountValue() { return couponDiscountValue; }
    public void setCouponDiscountValue(BigDecimal couponDiscountValue) { this.couponDiscountValue = couponDiscountValue; }

    public BigDecimal getPointsDiscountAmount() { return pointsDiscountAmount; }
    public void setPointsDiscountAmount(BigDecimal pointsDiscountAmount) { this.pointsDiscountAmount = pointsDiscountAmount; }

    public Boolean getPointsApplied() { return pointsApplied; }
    public void setPointsApplied(Boolean pointsApplied) { this.pointsApplied = pointsApplied; }

    public Integer getAvailableLoyaltyPoints() { return availableLoyaltyPoints; }
    public void setAvailableLoyaltyPoints(Integer availableLoyaltyPoints) { this.availableLoyaltyPoints = availableLoyaltyPoints; }

    public Boolean getCheckoutPending() { return checkoutPending; }
    public void setCheckoutPending(Boolean checkoutPending) { this.checkoutPending = checkoutPending; }

}
