Imports CharterDotCom.CommonEntities.Library.Enumerations

Public MustInherit Class AffiliateOrderClient
  Inherits GenericClient

#Region "Order"

  ' this method should be used to submit an order, only if credit card information is not avaialable
  Public MustOverride Function SubmitOrder(ByVal trackingID As String) As Boolean

  'Public MustOverride Function CancelOrder(ByVal trackingID As String, ByVal orderConfirmation As String, ByVal reason As String) As Boolean
  Public MustOverride Function GetOrderConfirmations(ByVal trackingID As String) As List(Of IAffiliateOrder.IAffiliateOrderConfirmation)

  Public MustOverride Sub GetConfirmationInfo(ByVal trackID As String, ByRef list As Dictionary(Of String, IConfirmation))

#End Region

#Region "Schedule"

  ' this method returns the available schedules for cable, hsd and Telephone categories 
  Public MustOverride Sub GetSchedule(ByVal trackingID As String, ByRef schedule1 As IAffiliateOrder.IAffiliateSchedule, ByRef schedule2 As IAffiliateOrder.IAffiliateSchedule)

  Public MustOverride Function SubmitSchedules(ByVal trackingID As String, ByVal type1 As String, ByVal schedule1 As List(Of String), ByVal type2 As String, ByVal schedule2 As List(Of String)) As Boolean

#End Region

#Region "Appointments"

  Public MustOverride Sub GetAppointments(ByVal trackingID As String, ByRef list As Dictionary(Of ScheduleType, IAffiliateOrder.IAffiliateAppointment))

#End Region

#Region "FINISH ORDER"

  Public MustOverride Sub ClearShoppingCart(ByVal trackingID As String)
  Public MustOverride Function SendOrderConfirmationEmail(ByVal trackingID As String) As Boolean

#End Region


End Class
