Viviot.Api

<back to all web services

UpdateService

Requires Authentication
Requires any of the roles:Admin, TenantAdmin, MarketplaceAdmin
The following routes are available for this service:
PUT/serviceUpdates a service.
UpdateService Parameters:
NameParameterData TypeRequiredDescription
IdbodystringYesService Id (GUID)
NamebodystringYesService name
DescriptionbodystringNoService description
SubTitlebodystringNoSub title intended to end up under the service title in the app.
IsPublicbodybooleanNoValue indicating whether the service is public or private (default private)
RequireConfirmationbodybooleanNoValue indicating whether the reservation has to be confirmed before it can be actualized.
RequirePaymentbodybooleanNoValue indicating whether a payment should be completed before the service can be reserved.
CurrencyIdbodystringNoCurrency Id (GUID)
VATPercentagebodyintegerNoVAT percentage for each product and addon in the service.
PaymentProviderConfigIdbodystringNoPayment provider Id (GUID)
InvoicingProviderConfigIdbodystringNoInvoicing provider Id (GUID)
BaseRequest Parameters:
NameParameterData TypeRequiredDescription
VersionformintegerNoApi version
ServiceResponse Parameters:
NameParameterData TypeRequiredDescription
DataformServiceViewNo
BaseResponse Parameters:
NameParameterData TypeRequiredDescription
ResponseStatusformResponseStatusNo
ServiceView Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
OrganizationIdformGuidNo
ServiceTypeformServiceTypeNo
NameformstringNo
DescriptionformstringNo
SubTitleformstringNo
ImageUrlformstringNo
IsPublicformboolNo
RequireConfirmationformbool?No
RequirePaymentformbool?No
Latitudeformdecimal?No
Longitudeformdecimal?No
CurrencyformCurrencyDtoNo
VATPercentageformdecimal?No
ProductsformList<ServiceProductView>No
AddonsformList<ServiceAddonDto>No
TimeOptionformServiceTimeOptionDtoNo
PersonOptionformServicePersonOptionDtoNo
ProvidersformDictionary<string, Guid>No
OrganizationformOrganizationDtoNo
ServiceType Enum:
NameValue
Reservation1
Request2
External3
Ticket4
CurrencyDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
NameformstringNo
CodeformstringNo
SymbolformstringNo
ServiceProductView Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
NameformstringNo
DescriptionformstringNo
UnitPriceformdecimal?No
MinimalPriceformdecimal?No
VATPercentageformdecimal?No
ImageUrlformstringNo
ExternalIdformList<string>No
ReservationDataformServiceProductReservationDtoNo
RequestDataformServiceProductRequestDtoNo
ExternalDataformServiceProductExternalDtoNo
TicketDataformServiceProductTicketDtoNo
ServiceProductReservationDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
AccessTemplateGroupIdformGuid?No
AccessTemplateIdformGuid?No
AutoAssignAccessTemplateformbool?No
ServiceProductRequestDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
OptionsformList<string>No
AllowCommentsformboolNo
ApprovedTemplateformstringNo
DeniedTemplateformstringNo
ProcessingTemplateformstringNo
ServiceProductExternalDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
ServiceUrlformstringNo
Latitudeformdecimal?No
Longitudeformdecimal?No
Ratingformdecimal?No
ServiceProductTicketDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
AccessTemplateIdformGuidNo
ServiceAddonDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
NameformstringNo
UnitPriceformdecimal?No
VATPercentageformdecimal?No
MaxQuantityformint?No
ExternalIdformstringNo
ServiceTimeOptionDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
TypeformServiceTimeOptionTypeNo
DailyOptionsformTimeDailyDtoNo
TimespanOptionsformTimespanDtoNo
ServiceTimeOptionType Enum:
NameValue
Daily0
Timespan1
TimeDailyDto Parameters:
NameParameterData TypeRequiredDescription
CheckinformTimeSpan?No
CheckoutformTimeSpan?No
TimespanDto Parameters:
NameParameterData TypeRequiredDescription
MinDurationformintNo
MaxDurationformintNo
Incrementformint?No
IncrementPriceMultiplierformdecimal?No
ServicePersonOptionDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
CanSelectChildrenformboolNo
MaxAdultCountformint?No
MaxChildrenCountformint?No
AdultPriceMultiplierformdecimalNo
ChildPriceMultiplierformdecimalNo
OrganizationDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
CodeformstringNo

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.

PUT /service HTTP/1.1 
Host: api.4spaces.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 00000000000000000000000000000000,
	name: String,
	description: String,
	subTitle: String,
	isPublic: False,
	requireConfirmation: False,
	requirePayment: False,
	currencyId: 00000000000000000000000000000000,
	vatPercentage: 0,
	paymentProviderConfigId: 00000000000000000000000000000000,
	invoicingProviderConfigId: 00000000000000000000000000000000,
	version: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	data: 
	{
		id: 00000000000000000000000000000000,
		organizationId: 00000000000000000000000000000000,
		serviceType: 1,
		name: String,
		description: String,
		subTitle: String,
		imageUrl: String,
		isPublic: False,
		requireConfirmation: False,
		requirePayment: False,
		latitude: 0,
		longitude: 0,
		currency: 
		{
			id: 00000000000000000000000000000000,
			name: String,
			code: String,
			symbol: String
		},
		vatPercentage: 0,
		products: 
		[
			{
				id: 00000000000000000000000000000000,
				name: String,
				description: String,
				unitPrice: 0,
				minimalPrice: 0,
				vatPercentage: 0,
				imageUrl: String,
				externalId: 
				[
					String
				],
				reservationData: 
				{
					id: 00000000000000000000000000000000,
					accessTemplateGroupId: 00000000000000000000000000000000,
					accessTemplateId: 00000000000000000000000000000000,
					autoAssignAccessTemplate: False
				},
				requestData: 
				{
					id: 00000000000000000000000000000000,
					options: 
					[
						String
					],
					allowComments: False,
					approvedTemplate: String,
					deniedTemplate: String,
					processingTemplate: String
				},
				externalData: 
				{
					id: 00000000000000000000000000000000,
					serviceUrl: String,
					latitude: 0,
					longitude: 0,
					rating: 0
				},
				ticketData: 
				{
					id: 00000000000000000000000000000000,
					accessTemplateId: 00000000000000000000000000000000
				}
			}
		],
		addons: 
		[
			{
				id: 00000000000000000000000000000000,
				name: String,
				unitPrice: 0,
				vatPercentage: 0,
				maxQuantity: 0,
				externalId: String
			}
		],
		timeOption: 
		{
			id: 00000000000000000000000000000000,
			type: 0,
			dailyOptions: 
			{
				checkin: PT0S,
				checkout: PT0S
			},
			timespanOptions: 
			{
				minDuration: 0,
				maxDuration: 0,
				increment: 0,
				incrementPriceMultiplier: 0
			}
		},
		personOption: 
		{
			id: 00000000000000000000000000000000,
			canSelectChildren: False,
			maxAdultCount: 0,
			maxChildrenCount: 0,
			adultPriceMultiplier: 0,
			childPriceMultiplier: 0
		},
		providers: 
		{
			String: 00000000000000000000000000000000
		},
		organization: 
		{
			id: 00000000000000000000000000000000,
			code: String
		}
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}