package models

import "time"

// TrialPeriod represents a trial period for a customer
type TrialPeriod struct {
	ID         string    `json:"id"`
	CustomerID string    `json:"customerId"`
	StartTime  time.Time `json:"startTime"`
	EndTime    time.Time `json:"endTime"`
	IsTrial    bool      `json:"isTrial"`
	CreatedAt  time.Time `json:"createdAt"`
}

// CreateTrialPeriodRequest represents the request to create a trial period
type CreateTrialPeriodRequest struct {
	CustomerID string `json:"customerId"`
	StartTime  string `json:"startTime"`
	EndTime    string `json:"endTime"`
	IsTrial    bool   `json:"isTrial"`
}

// UpdateTrialPeriodRequest represents the request to update a trial period
type UpdateTrialPeriodRequest struct {
	StartTime *string `json:"startTime,omitempty"`
	EndTime   *string `json:"endTime,omitempty"`
	IsTrial   *bool   `json:"isTrial,omitempty"`
}
