PartnerHub

<back to all web services

AppointmentContactVehicleChange

To override the Content-type in your clients 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.

POST /jsv/reply/AppointmentContactVehicleChange HTTP/1.1 
Host: partnerhub.pbsdealers.com 
Content-Type: text/jsv
Content-Length: length

{
	ContactInfo: 
	{
		Id: string/00000000-0000-0000-0000-000000000000,
		ContactId: 00000000000000000000000000000000,
		SerialNumber: String,
		Code: String,
		LastName: String,
		FirstName: String,
		Salutation: String,
		MiddleName: String,
		ContactName: String,
		IsInactive: False,
		IsBusiness: False,
		ApartmentNumber: String,
		Address: String,
		City: String,
		County: String,
		State: String,
		ZipCode: String,
		BusinessPhone: String,
		BusinessPhoneExt: String,
		HomePhone: String,
		CellPhone: String,
		BusinessPhoneRawReverse: String,
		HomePhoneRawReverse: String,
		CellPhoneRawReverse: String,
		FaxNumber: String,
		EmailAddress: String,
		Notes: String,
		CriticalMemo: String,
		BirthDate: 0001-01-01,
		Gender: String,
		DriverLicense: String,
		DriversLicenseExpiry: 0001-01-01,
		PreferredContactMethods: 
		[
			String
		],
		LastUpdate: 0001-01-01,
		CustomFields: 
		[
			{
				Key: String,
				Value: String,
				Type: String
			}
		],
		FleetType: String,
		RelationshipType: String,
		CommunicationPreferences: 
		{
			Email: String,
			Phone: String,
			TextMessage: String,
			Letter: String,
			Preferred: String,
			FollowUp: String,
			Marketing: String,
			ThirdParty: String,
			ImplicitConsentDate: 0001-01-01
		},
		SalesRepRef: 00000000000000000000000000000000,
		Language: String,
		PayableAccount: String,
		ReceivableAccount: String,
		IsStatic: False,
		PrimaryImageRef: 00000000000000000000000000000000,
		PayableAccounts: 
		[
			{
				SerialNumber: String,
				Account: String
			}
		],
		ReceivableAccounts: 
		[
			{
				SerialNumber: String,
				Account: String
			}
		],
		IsAPVendor: False,
		IsARCustomer: False,
		ManufacturerLoyaltyNumber: String,
		MergedToContactRef: 00000000000000000000000000000000,
		DoNotLoadHistory: False,
		RepairOrderRequiresPO: False,
		CreatedDate: 0001-01-01,
		SalesReps: 
		[
			{
				SerialNumber: String,
				SalesRepRef: 00000000000000000000000000000000
			}
		]
	},
	VehicleInfo: 
	{
		Id: string/00000000-0000-0000-0000-000000000000,
		VehicleId: 00000000000000000000000000000000,
		SerialNumber: String,
		StockNumber: String,
		VIN: String,
		LicenseNumber: String,
		FleetNumber: String,
		Status: String,
		OwnerRef: 00000000000000000000000000000000,
		ModelNumber: String,
		Make: String,
		Model: String,
		Trim: String,
		VehicleType: String,
		Year: String,
		Odometer: 0,
		ExteriorColor: 
		{
			Code: String,
			Description: String,
			BaseColor: String
		},
		InteriorColor: 
		{
			Code: String,
			Description: String,
			BaseColor: String
		},
		Engine: String,
		Cylinders: String,
		Transmission: String,
		DriveWheel: String,
		Fuel: String,
		Weight: 0,
		InServiceDate: 0001-01-01,
		LastServiceDate: 0001-01-01,
		LastServiceMileage: 0,
		Lot: String,
		LotDescription: String,
		Category: String,
		Options: 
		[
			{
				Group: String,
				Code: String,
				Description: String,
				AdditionalInfo: String,
				Price: 0,
				Cost: 0,
				Residual: 0
			}
		],
		Refurbishments: 
		[
			{
				ReferenceNumber: String,
				Description: String,
				Price: 0,
				Cost: 0,
				Date: 0001-01-01,
				ApplicationModel: String
			}
		],
		Order: 
		{
			InvoiceNumber: String,
			Price: 0,
			Status: String,
			Eta: String,
			EstimatedCost: 0,
			OrderDate: String,
			StatusDate: String,
			IgnitionKeyCode: String,
			DoorKeyCode: String,
			Description: String,
			LocationStatus: String,
			LocationStatusDate: 0001-01-01
		},
		MSR: 0,
		BaseMSR: 0,
		Retail: 0,
		DateReceived: 0001-01-01,
		InternetPrice: 0,
		Lotpack: 0,
		Holdback: 0,
		InternetNotes: String,
		Notes: String,
		CriticalMemo: String,
		IsCertified: False,
		LastSaleDate: 0001-01-01,
		LastUpdate: 0001-01-01,
		AppraisedValue: 0,
		Warranties: 
		[
			{
				Type: String,
				CompanyName: String,
				CoveragePlan: String,
				Description: String,
				Price: 0,
				Cost: 0,
				Term: String,
				Deductible: 0,
				PolicyNumber: String,
				StartDate: String,
				StartMileage: 0,
				ExpirationDate: String,
				ExpirationMileage: 0
			}
		],
		Freight: 0,
		Air: 0,
		Inventory: 0,
		IsInactive: False,
		CustomFields: 
		[
			{
				Key: String,
				Value: String,
				Type: String
			}
		],
		FloorPlanCode: String,
		FloorPlanAmount: 0,
		Insurance: 
		{
			Company: String,
			Policy: String,
			ExpiryDate: 0001-01-01,
			AgentName: String,
			AgentPhoneNumber: String
		},
		Body: String,
		ShortVIN: String,
		AdditionalDrivers: 
		[
			00000000000000000000000000000000
		],
		OrderDetails: 
		{
			Distributor: String
		},
		PrimaryImageRef: 00000000000000000000000000000000,
		Hold: 
		{
			VehicleRef: 00000000000000000000000000000000,
			HoldFrom: 0001-01-01,
			HoldUntil: 0001-01-01,
			UserRef: 00000000000000000000000000000000,
			ContactRef: 00000000000000000000000000000000,
			Comments: String
		},
		SeatingCapacity: String,
		DeliveryDate: 0001-01-01,
		WarrantyExpiry: 0001-01-01,
		IsConditionallySold: False,
		SalesDivision: 0,
		StyleRef: String,
		TotalCost: 0,
		BlueBookValue: 0,
		VideoURL: String,
		ShowOnWeb: False,
		PDI: 0,
		Configuration: String,
		DisplayTrim: String
	},
	AppointmentInfo: 
	{
		Id: string/00000000-0000-0000-0000-000000000000,
		AppointmentId: 00000000000000000000000000000000,
		SerialNumber: String,
		AppointmentNumber: 0,
		RawAppointmentNumber: String,
		Shop: String,
		Advisor: String,
		AdvisorRef: 00000000000000000000000000000000,
		BookingUser: String,
		BookingUserRef: 00000000000000000000000000000000,
		Transportation: String,
		ContactRef: 00000000000000000000000000000000,
		VehicleRef: 00000000000000000000000000000000,
		MileageIn: 0,
		IsComeback: False,
		IsWaiter: False,
		AppointmentTime: 0001-01-01,
		AppointmentTimeUTC: 0001-01-01,
		PickupTime: 0001-01-01,
		PickupTimeUTC: 0001-01-01,
		RequestLines: 
		[
			{
				AppointmentRequestRef: 00000000000000000000000000000000,
				AppointmentRequestId: 0,
				CSR: String,
				CSRRef: 00000000000000000000000000000000,
				Skill: String,
				RequestCode: String,
				RequestDescription: String,
				AllowedHours: 0,
				EstimateLabour: 0,
				EstimateParts: 0,
				PartsLines: 
				[
					{
						AppointmentPartsLineRef: 00000000000000000000000000000000,
						AppointmentPartsLineId: 0,
						CSR: String,
						CSRRef: 00000000000000000000000000000000,
						PartNumber: String,
						PartDescription: String,
						Requested: 0,
						Shipped: 0,
						Ordered: 0,
						PriceCode: String,
						Cost: 0,
						UnitPrice: 0,
						ExtendedPrice: 0,
						NoHistory: False,
						IsPartsKit: False,
						PartsKitName: String,
						BIN: String,
						IsTransferred: False
					}
				],
				LabourOpDescription: String,
				PayType: String,
				Tech: String,
				TechRef: 00000000000000000000000000000000,
				Status: String,
				LineType: RequestLine
			}
		],
		DateOpened: 0001-01-01,
		LastUpdate: 0001-01-01,
		Status: String,
		Notes: String,
		Source: String,
		PendingRequest: False,
		CheckedIn: False,
		Confirmed: False,
		LeadRef: String,
		NotifyType: String,
		Tag: String,
		FirstApptTimeAvailable: 0001-01-01T00:00:00.0000000+00:00,
		AlternateStartAddress: 
		{
			Name: String,
			Address: String,
			City: String,
			Province: String,
			PostalCode: String,
			AdditionalInfo: String
		},
		AlternateEndAddress: 
		{
			Name: String,
			Address: String,
			City: String,
			Province: String,
			PostalCode: String,
			AdditionalInfo: String
		}
	},
	CreateNewAppointment: False,
	IsAsynchronous: False,
	UserRequest: String,
	UserRef: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	WasSuccessful: False,
	Message: String,
	ReferenceId: String,
	ReferenceNumber: String
}