package pricing

import (
	"time"

	"cloud.o-forge.io/core/oc-lib/models/common/enum"
	"cloud.o-forge.io/core/oc-lib/tools"
)

type PricedItemITF interface {
	GetID() string
	GetName() string
	GetInstanceID() string
	GetType() tools.DataType
	IsPurchasable() bool
	IsBooked() bool
	GetQuantity() int
	AddQuantity(amount int)
	GetBookingMode() enum.BookingMode
	GetCreatorID() string
	SelectPricing() PricingProfileITF
	GetLocationStart() *time.Time
	SetLocationStart(start time.Time)
	SetLocationEnd(end time.Time)
	GetLocationEnd() *time.Time
	GetExplicitDurationInS() float64
	GetPriceHT() (float64, error)
}
