Trendsic Platform Service

<back to all web services

SchedulerRequest

The following routes are available for this service:
GET,OPTIONS/v1/Scheduler/{SchedulerUrl}
GET,OPTIONS/v1/Scheduler/{SchedulerUrl}/{StartDate}
GET,OPTIONS/v1/Scheduler/{SchedulerUrl}/{StartDate}/{LocalDate}
GET,OPTIONS/v1/SchedulerServices/{SchedulerUrl}/{StartDate}/{ServiceIdsList}
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal

Namespace Global

    Namespace CRM.AgencyPlatform.API.Internal

        Public Partial Class Contact
            Public Overridable Property ContactId As Integer
            Public Overridable Property ContactType As Integer
            Public Overridable Property FirstName As String
            Public Overridable Property LastName As String
            Public Overridable Property Name As String
            Public Overridable Property Role As String
            Public Overridable Property Title As String
            Public Overridable Property EmailWork As String
            Public Overridable Property EmailPersonal As String
            Public Overridable Property District As String
            Public Overridable Property DistrictID As Integer
            Public Overridable Property School As String
            Public Overridable Property SchoolID As Long
            Public Overridable Property State As String
            Public Overridable Property StateName As String
            Public Overridable Property StateID As Long
            Public Overridable Property CountyID As Long
            Public Overridable Property County As String
            Public Overridable Property Phone As String
            Public Overridable Property Department As String
            Public Overridable Property Flow As String
            Public Overridable Property LastContact As Date
            Public Overridable Property DoNotContact As Boolean
            Public Overridable Property Active As Boolean
            Public Overridable Property AgentId As Integer
            Public Overridable Property PhoneAlt As String
            Public Overridable Property PeraContactId As Integer
            Public Overridable Property RoomNumber As String
            Public Overridable Property SourceTypeId As Integer
            Public Overridable Property SourceTypeDesc As String
            Public Overridable Property SourceNote As String
            Public Overridable Property ContactStatusId As Integer
            Public Overridable Property ContactStatusDesc As String
            Public Overridable Property SSN As String
            Public Overridable Property DateOfBirth As Date
            Public Overridable Property Deleted As Boolean
            Public Overridable Property IsShared As Boolean
            Public Overridable Property address_line1 As String
            Public Overridable Property address_city As String
            Public Overridable Property address_state As String
            Public Overridable Property address_zip As String
            Public Overridable Property DeletedBy As String
            Public Overridable Property DeletedDateTimeUtc As Date?
            Public Overridable Property HasNBC As Boolean
            Public Overridable Property HasFactFinderSheet As Boolean
            Public Overridable Property MiddleInitial As String
            Public Overridable Property Tags As String
            Public Overridable Property DateCreated As Date
            Public Overridable Property PhoneLabel As String
            Public Overridable Property AltPhoneLabel As String
            Public Overridable Property Carriers As String
            Public Overridable Property ContactImage As String
            Public Overridable Property CompanyAffiliation As String
            Public Overridable Property AdditionalInformation As String
            Public Overridable Property HasGiftCard As Boolean
            Public Overridable Property ContactCategory As Integer
            Public Overridable Property WritingAgentId As Integer
            Public Overridable Property WritingAgentName As String
            Public Overridable Property MaritalStatus As String
            Public Overridable Property TotalDebtAmount As Decimal
            Public Overridable Property NumberOfDebtAccounts As Integer
            Public Overridable Property FactFinderCodeId As Integer
            Public Overridable Property BusinessName As String
            Public Overridable Property DBA As String
            Public Overridable Property ContactGUID As Guid
            Public Overridable Property ProjectEndDate As Date
            Public Overridable Property Rate As Integer
            Public Overridable Property JobID As Integer
            Public Overridable Property JobName As String
            Public Overridable Property JobCount As Integer
            Public Overridable Property Locked As Boolean
            Public Overridable Property LockedByAgentId As Integer
            Public Overridable Property LockedTimestamp As Date
            Public Overridable Property Initials As String
            Public Overridable Property ContactCategoryName As String
            Public Overridable Property SMSOptIn As Boolean
        End Class

        Public Partial Class Line
            Public Overridable Property Id As Guid
            Public Overridable Property LocationId As Guid
            Public Overridable Property LocationName As String
            Public Overridable Property Name As String
            Public Overridable Property Description As String
            Public Overridable Property ServiceDurationMinutes As Integer
            Public Overridable Property WaitTime As Integer
            Public Overridable Property Cost As Decimal
            Public Overridable Property UpperThreshold As Integer?
            Public Overridable Property LowerThreshold As Integer?
            Public Overridable Property Active As Boolean
            Public Overridable Property EntDate As Date?
            Public Overridable Property ModDate As Date?
            Public Overridable Property SendQuestionnaire As Boolean
            Public Overridable Property RequireUpload As Boolean
            Public Overridable Property UploadMessage As String
            Public Overridable Property LineImages As List(Of LineImage) = New List(Of LineImage)
        End Class

        Public Partial Class LineImage
            Public Overridable Property ImageId As Guid?
            Public Overridable Property FileName As String
            Public Overridable Property ImageTitle As String
            Public Overridable Property UploadDate As Date
        End Class

        Public Partial Class ScheduleConfigDay
            Public Overridable Property DayName As String
            Public Overridable Property DayNumber As Integer?
            Public Overridable Property DayEnabled As Boolean?
            Public Overridable Property TimeBlocks As List(Of ScheduleConfigTimeBlock) = New List(Of ScheduleConfigTimeBlock)
        End Class

        Public Partial Class ScheduleConfigTimeBlock
            Public Overridable Property StartTime As TimeSpan
            Public Overridable Property DayStartFriendly As String
            Public Overridable Property EndTime As TimeSpan
            Public Overridable Property DayEndFriendly As String
        End Class

        Public Partial Class SchedulerConfiguration
            Public Overridable Property ConfigId As Integer
            Public Overridable Property SchedulerUrl As String
            Public Overridable Property SchedulerName As String
            Public Overridable Property DefaultLocation As String
            Public Overridable Property DefaultSummary As String
            Public Overridable Property DefaultDescription As String
            Public Overridable Property DayStart As TimeSpan
            Public Overridable Property DayStartFriendly As String
            Public Overridable Property DayEnd As TimeSpan
            Public Overridable Property DayEndFriendly As String
            Public Overridable Property TimeslotDuration As Integer
            Public Overridable Property NumberOfSlots As Integer?
            Public Overridable Property LocationId As Guid
            Public Overridable Property CalendarId As Guid
            Public Overridable Property AgentId As Integer
            Public Overridable Property TimeZone As String
            Public Overridable Property AvailableDateTimes As List(Of ScheduleConfigDay) = New List(Of ScheduleConfigDay)
            Public Overridable Property AvailableServices As List(Of Guid) = New List(Of Guid)
            Public Overridable Property AllServices As List(Of Line) = New List(Of Line)
        End Class

        Public Partial Class SchedulerDay
            Public Overridable Property Day As Date
            Public Overridable Property MonthNumber As Integer
            Public Overridable Property DayNumber As Integer
            Public Overridable Property DayOfWeek As String
            Public Overridable Property Timeslots As List(Of SchedulerTimeslot) = New List(Of SchedulerTimeslot)
        End Class

        Public Partial Class SchedulerRequest
            Public Overridable Property SchedulerUrl As String
            Public Overridable Property StartDate As Date
            Public Overridable Property Session As List(Of String) = New List(Of String)
            Public Overridable Property ServiceIdsList As String
        End Class

        Public Partial Class SchedulerResponse
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property Week As SchedulerWeek
            Public Overridable Property Services As List(Of Line) = New List(Of Line)
        End Class

        Public Partial Class SchedulerTimeslot
            Public Overridable Property Day As Date
            Public Overridable Property Time As TimeSpan
            Public Overridable Property Duration As Integer
            Public Overridable Property StartDateTime As Date
            Public Overridable Property EndDateTime As Date
            Public Overridable Property TimeFriendly As String
            Public Overridable Property Contact As Contact
            Public Overridable Property ServiceIds As List(Of Guid) = New List(Of Guid)
            Public Overridable Property LocationId As Guid
            Public Overridable Property Unavailable As Boolean
            Public Overridable Property BookedIds As List(Of Integer) = New List(Of Integer)
            Public Overridable Property CalendarId As Guid
            Public Overridable Property SchedulerUrl As String
        End Class

        Public Partial Class SchedulerWeek
            Public Overridable Property Settings As SchedulerConfiguration
            Public Overridable Property Days As List(Of SchedulerDay) = New List(Of SchedulerDay)
        End Class
    End Namespace
End Namespace

VB.NET SchedulerRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v1/Scheduler/{SchedulerUrl} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	Week: 
	{
		Settings: 
		{
			ConfigId: 0,
			SchedulerUrl: String,
			SchedulerName: String,
			DefaultLocation: String,
			DefaultSummary: String,
			DefaultDescription: String,
			DayStart: PT0S,
			DayStartFriendly: "00:00",
			DayEnd: PT0S,
			DayEndFriendly: "00:00",
			TimeslotDuration: 0,
			NumberOfSlots: 0,
			LocationId: 00000000000000000000000000000000,
			CalendarId: 00000000000000000000000000000000,
			AgentId: 0,
			TimeZone: String,
			AvailableDateTimes: 
			[
				{
					DayName: String,
					DayNumber: 0,
					DayEnabled: False,
					TimeBlocks: 
					[
						{
							StartTime: PT0S,
							DayStartFriendly: "00:00",
							EndTime: PT0S,
							DayEndFriendly: "00:00"
						}
					]
				}
			],
			AvailableServices: 
			[
				00000000000000000000000000000000
			],
			AllServices: 
			[
				{
					Id: 00000000000000000000000000000000,
					LocationId: 00000000000000000000000000000000,
					LocationName: String,
					Name: String,
					Description: String,
					ServiceDurationMinutes: 0,
					WaitTime: 0,
					Cost: 0,
					UpperThreshold: 0,
					LowerThreshold: 0,
					Active: False,
					EntDate: 0001-01-01,
					ModDate: 0001-01-01,
					SendQuestionnaire: False,
					RequireUpload: False,
					UploadMessage: String,
					LineImages: 
					[
						{
							ImageId: 00000000000000000000000000000000,
							FileName: String,
							ImageTitle: String,
							UploadDate: 0001-01-01
						}
					]
				}
			]
		},
		Days: 
		[
			{
				
			}
		]
	},
	Services: 
	[
		{
			Id: 00000000000000000000000000000000,
			LocationId: 00000000000000000000000000000000,
			LocationName: String,
			Name: String,
			Description: String,
			ServiceDurationMinutes: 0,
			WaitTime: 0,
			Cost: 0,
			UpperThreshold: 0,
			LowerThreshold: 0,
			Active: False,
			EntDate: 0001-01-01,
			ModDate: 0001-01-01,
			SendQuestionnaire: False,
			RequireUpload: False,
			UploadMessage: String,
			LineImages: 
			[
				{
					ImageId: 00000000000000000000000000000000,
					FileName: String,
					ImageTitle: String,
					UploadDate: 0001-01-01
				}
			]
		}
	]
}