| Requires any of the roles: | Admin, TenantAdmin, MarketplaceAdmin |
| POST | /service | Inserts a new service. |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| OrganizationId | body | string | Yes | Organization Id (GUID) |
| ServiceType | body | ServiceType | Yes | Service type (reservation, request, external)Allowable Values
|
| Image | body | ImageDto | No | Image object for setting image name, content and mime type. |
| Name | body | string | Yes | Service name |
| Description | body | string | No | Service description |
| SubTitle | body | string | No | Sub title intended to end up under the service title in the app. |
| IsPublic | body | boolean | No | Value indicating whether the service is public or private (default private) |
| RequireConfirmation | body | boolean | No | Value indicating whether the reservation has to be confirmed before it can be actualized. |
| RequirePayment | body | boolean | No | Value indicating whether a payment should be completed before the service can be reserved. |
| CurrencyId | body | string | No | Currency Id (GUID) |
| VATPercentage | body | integer | No | VAT percentage for each proddcut and addon in the service. |
| PaymentProviderConfigId | body | string | No | Payment provider Id (GUID) |
| InvoicingProviderConfigId | body | string | No | Invoicing provider Id (GUID) |
| Products | body | List<ServiceProductDto> | Yes | List of service products. |
| Addons | body | List<ServiceAddonDto> | No | List of service addons. |
| TimeOption | body | ServiceTimeOptionDto | No | Time & date configuration options. |
| PersonOption | body | ServicePersonOptionDto | No | Person configuration options for a service. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Version | form | integer | No | Api version |
| Name | Value |
|---|---|
| Reservation | 1 |
| Request | 2 |
| External | 3 |
| Ticket | 4 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| FileName | form | string | No | |
| Content | form | string | No | |
| MimeType | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| Name | form | string | No | |
| Description | form | string | No | |
| UnitPrice | form | decimal? | No | |
| VATPercentage | form | decimal? | No | |
| Image | form | ImageDto | No | |
| ExternalId | form | string | No | |
| ReservationData | form | ServiceProductReservationDto | No | |
| RequestData | form | ServiceProductRequestDto | No | |
| ExternalData | form | ServiceProductExternalDto | No | |
| TicketData | form | ServiceProductTicketDto | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| AccessTemplateGroupId | form | Guid? | No | |
| AccessTemplateId | form | Guid? | No | |
| AutoAssignAccessTemplate | form | bool? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| Options | form | List<string> | No | |
| AllowComments | form | bool | No | |
| ApprovedTemplate | form | string | No | |
| DeniedTemplate | form | string | No | |
| ProcessingTemplate | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| ServiceUrl | form | string | No | |
| Latitude | form | decimal? | No | |
| Longitude | form | decimal? | No | |
| Rating | form | decimal? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| AccessTemplateId | form | Guid | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| Name | form | string | No | |
| UnitPrice | form | decimal? | No | |
| VATPercentage | form | decimal? | No | |
| MaxQuantity | form | int? | No | |
| ExternalId | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| Type | form | ServiceTimeOptionType | No | |
| DailyOptions | form | TimeDailyDto | No | |
| TimespanOptions | form | TimespanDto | No |
| Name | Value |
|---|---|
| Daily | 0 |
| Timespan | 1 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Checkin | form | TimeSpan? | No | |
| Checkout | form | TimeSpan? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| MinDuration | form | int | No | |
| MaxDuration | form | int | No | |
| Increment | form | int? | No | |
| IncrementPriceMultiplier | form | decimal? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| CanSelectChildren | form | bool | No | |
| MaxAdultCount | form | int? | No | |
| MaxChildrenCount | form | int? | No | |
| AdultPriceMultiplier | form | decimal | No | |
| ChildPriceMultiplier | form | decimal | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Data | form | ServiceView | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ResponseStatus | form | ResponseStatus | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid | No | |
| OrganizationId | form | Guid | No | |
| ServiceType | form | ServiceType | No | |
| Name | form | string | No | |
| Description | form | string | No | |
| SubTitle | form | string | No | |
| ImageUrl | form | string | No | |
| IsPublic | form | bool | No | |
| RequireConfirmation | form | bool? | No | |
| RequirePayment | form | bool? | No | |
| Latitude | form | decimal? | No | |
| Longitude | form | decimal? | No | |
| Currency | form | CurrencyDto | No | |
| VATPercentage | form | decimal? | No | |
| Products | form | List<ServiceProductView> | No | |
| Addons | form | List<ServiceAddonDto> | No | |
| TimeOption | form | ServiceTimeOptionDto | No | |
| PersonOption | form | ServicePersonOptionDto | No | |
| Providers | form | Dictionary<string, Guid> | No | |
| Organization | form | OrganizationDto | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid | No | |
| Name | form | string | No | |
| Code | form | string | No | |
| Symbol | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid | No | |
| Name | form | string | No | |
| Description | form | string | No | |
| UnitPrice | form | decimal? | No | |
| MinimalPrice | form | decimal? | No | |
| VATPercentage | form | decimal? | No | |
| ImageUrl | form | string | No | |
| ExternalId | form | List<string> | No | |
| ReservationData | form | ServiceProductReservationDto | No | |
| RequestData | form | ServiceProductRequestDto | No | |
| ExternalData | form | ServiceProductExternalDto | No | |
| TicketData | form | ServiceProductTicketDto | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid? | No | |
| Code | form | string | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /service HTTP/1.1
Host: api.4spaces.io
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<InsertService xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Viviot.Api.ServiceModel.Api.Business">
<Version xmlns="http://schemas.datacontract.org/2004/07/Viviot.Api.ServiceModel.Api.Base">0</Version>
<Addons xmlns:d2p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d2p1:ServiceAddonDto>
<d2p1:ExternalId>String</d2p1:ExternalId>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:MaxQuantity>0</d2p1:MaxQuantity>
<d2p1:Name>String</d2p1:Name>
<d2p1:UnitPrice>0</d2p1:UnitPrice>
<d2p1:VATPercentage>0</d2p1:VATPercentage>
</d2p1:ServiceAddonDto>
</Addons>
<CurrencyId>00000000-0000-0000-0000-000000000000</CurrencyId>
<Description>String</Description>
<Image xmlns:d2p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Image">
<d2p1:Content>String</d2p1:Content>
<d2p1:FileName>String</d2p1:FileName>
<d2p1:MimeType>String</d2p1:MimeType>
</Image>
<InvoicingProviderConfigId>00000000-0000-0000-0000-000000000000</InvoicingProviderConfigId>
<IsPublic>false</IsPublic>
<Name>String</Name>
<OrganizationId>00000000-0000-0000-0000-000000000000</OrganizationId>
<PaymentProviderConfigId>00000000-0000-0000-0000-000000000000</PaymentProviderConfigId>
<PersonOption xmlns:d2p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d2p1:AdultPriceMultiplier>0</d2p1:AdultPriceMultiplier>
<d2p1:CanSelectChildren>false</d2p1:CanSelectChildren>
<d2p1:ChildPriceMultiplier>0</d2p1:ChildPriceMultiplier>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:MaxAdultCount>0</d2p1:MaxAdultCount>
<d2p1:MaxChildrenCount>0</d2p1:MaxChildrenCount>
</PersonOption>
<Products xmlns:d2p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d2p1:ServiceProductDto>
<d2p1:Description>String</d2p1:Description>
<d2p1:ExternalData>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:Latitude>0</d2p1:Latitude>
<d2p1:Longitude>0</d2p1:Longitude>
<d2p1:Rating>0</d2p1:Rating>
<d2p1:ServiceUrl>String</d2p1:ServiceUrl>
</d2p1:ExternalData>
<d2p1:ExternalId>String</d2p1:ExternalId>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:Image xmlns:d4p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Image">
<d4p1:Content>String</d4p1:Content>
<d4p1:FileName>String</d4p1:FileName>
<d4p1:MimeType>String</d4p1:MimeType>
</d2p1:Image>
<d2p1:Name>String</d2p1:Name>
<d2p1:RequestData>
<d2p1:AllowComments>false</d2p1:AllowComments>
<d2p1:ApprovedTemplate>String</d2p1:ApprovedTemplate>
<d2p1:DeniedTemplate>String</d2p1:DeniedTemplate>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:Options xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:string>String</d5p1:string>
</d2p1:Options>
<d2p1:ProcessingTemplate>String</d2p1:ProcessingTemplate>
</d2p1:RequestData>
<d2p1:ReservationData>
<d2p1:AccessTemplateGroupId>00000000-0000-0000-0000-000000000000</d2p1:AccessTemplateGroupId>
<d2p1:AccessTemplateId>00000000-0000-0000-0000-000000000000</d2p1:AccessTemplateId>
<d2p1:AutoAssignAccessTemplate>false</d2p1:AutoAssignAccessTemplate>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
</d2p1:ReservationData>
<d2p1:TicketData>
<d2p1:AccessTemplateId>00000000-0000-0000-0000-000000000000</d2p1:AccessTemplateId>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
</d2p1:TicketData>
<d2p1:UnitPrice>0</d2p1:UnitPrice>
<d2p1:VATPercentage>0</d2p1:VATPercentage>
</d2p1:ServiceProductDto>
</Products>
<RequireConfirmation>false</RequireConfirmation>
<RequirePayment>false</RequirePayment>
<ServiceType>Reservation</ServiceType>
<SubTitle>String</SubTitle>
<TimeOption xmlns:d2p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d2p1:DailyOptions>
<d2p1:Checkin>PT0S</d2p1:Checkin>
<d2p1:Checkout>PT0S</d2p1:Checkout>
</d2p1:DailyOptions>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:TimespanOptions>
<d2p1:Increment>0</d2p1:Increment>
<d2p1:IncrementPriceMultiplier>0</d2p1:IncrementPriceMultiplier>
<d2p1:MaxDuration>0</d2p1:MaxDuration>
<d2p1:MinDuration>0</d2p1:MinDuration>
</d2p1:TimespanOptions>
<d2p1:Type>Daily</d2p1:Type>
</TimeOption>
<VATPercentage>0</VATPercentage>
</InsertService>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ServiceResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Viviot.Api.ServiceModel.Api.Business">
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types" xmlns="http://schemas.datacontract.org/2004/07/Viviot.Api.ServiceModel.Api.Base">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/Viviot.Api.ServiceModel.Views.Shared.Service">
<d2p1:Addons xmlns:d3p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d3p1:ServiceAddonDto>
<d3p1:ExternalId>String</d3p1:ExternalId>
<d3p1:Id>00000000-0000-0000-0000-000000000000</d3p1:Id>
<d3p1:MaxQuantity>0</d3p1:MaxQuantity>
<d3p1:Name>String</d3p1:Name>
<d3p1:UnitPrice>0</d3p1:UnitPrice>
<d3p1:VATPercentage>0</d3p1:VATPercentage>
</d3p1:ServiceAddonDto>
</d2p1:Addons>
<d2p1:Currency xmlns:d3p1="http://schemas.datacontract.org/2004/07/Integrations.Payment.Responses">
<d3p1:Code>String</d3p1:Code>
<d3p1:Id>00000000-0000-0000-0000-000000000000</d3p1:Id>
<d3p1:Name>String</d3p1:Name>
<d3p1:Symbol>String</d3p1:Symbol>
</d2p1:Currency>
<d2p1:Description>String</d2p1:Description>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:ImageUrl>String</d2p1:ImageUrl>
<d2p1:IsPublic>false</d2p1:IsPublic>
<d2p1:Latitude>0</d2p1:Latitude>
<d2p1:Longitude>0</d2p1:Longitude>
<d2p1:Name>String</d2p1:Name>
<d2p1:Organization xmlns:d3p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Organization">
<d3p1:Code>String</d3p1:Code>
<d3p1:Id>00000000-0000-0000-0000-000000000000</d3p1:Id>
</d2p1:Organization>
<d2p1:OrganizationId>00000000-0000-0000-0000-000000000000</d2p1:OrganizationId>
<d2p1:PersonOption xmlns:d3p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d3p1:AdultPriceMultiplier>0</d3p1:AdultPriceMultiplier>
<d3p1:CanSelectChildren>false</d3p1:CanSelectChildren>
<d3p1:ChildPriceMultiplier>0</d3p1:ChildPriceMultiplier>
<d3p1:Id>00000000-0000-0000-0000-000000000000</d3p1:Id>
<d3p1:MaxAdultCount>0</d3p1:MaxAdultCount>
<d3p1:MaxChildrenCount>0</d3p1:MaxChildrenCount>
</d2p1:PersonOption>
<d2p1:Products>
<d2p1:ServiceProductView>
<d2p1:Description>String</d2p1:Description>
<d2p1:ExternalData xmlns:d5p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d5p1:Id>00000000-0000-0000-0000-000000000000</d5p1:Id>
<d5p1:Latitude>0</d5p1:Latitude>
<d5p1:Longitude>0</d5p1:Longitude>
<d5p1:Rating>0</d5p1:Rating>
<d5p1:ServiceUrl>String</d5p1:ServiceUrl>
</d2p1:ExternalData>
<d2p1:ExternalId xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:string>String</d5p1:string>
</d2p1:ExternalId>
<d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
<d2p1:ImageUrl>String</d2p1:ImageUrl>
<d2p1:MinimalPrice>0</d2p1:MinimalPrice>
<d2p1:Name>String</d2p1:Name>
<d2p1:RequestData xmlns:d5p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d5p1:AllowComments>false</d5p1:AllowComments>
<d5p1:ApprovedTemplate>String</d5p1:ApprovedTemplate>
<d5p1:DeniedTemplate>String</d5p1:DeniedTemplate>
<d5p1:Id>00000000-0000-0000-0000-000000000000</d5p1:Id>
<d5p1:Options xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:string>String</d6p1:string>
</d5p1:Options>
<d5p1:ProcessingTemplate>String</d5p1:ProcessingTemplate>
</d2p1:RequestData>
<d2p1:ReservationData xmlns:d5p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d5p1:AccessTemplateGroupId>00000000-0000-0000-0000-000000000000</d5p1:AccessTemplateGroupId>
<d5p1:AccessTemplateId>00000000-0000-0000-0000-000000000000</d5p1:AccessTemplateId>
<d5p1:AutoAssignAccessTemplate>false</d5p1:AutoAssignAccessTemplate>
<d5p1:Id>00000000-0000-0000-0000-000000000000</d5p1:Id>
</d2p1:ReservationData>
<d2p1:TicketData xmlns:d5p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d5p1:AccessTemplateId>00000000-0000-0000-0000-000000000000</d5p1:AccessTemplateId>
<d5p1:Id>00000000-0000-0000-0000-000000000000</d5p1:Id>
</d2p1:TicketData>
<d2p1:UnitPrice>0</d2p1:UnitPrice>
<d2p1:VATPercentage>0</d2p1:VATPercentage>
</d2p1:ServiceProductView>
</d2p1:Products>
<d2p1:Providers xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringguid>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>00000000-0000-0000-0000-000000000000</d3p1:Value>
</d3p1:KeyValueOfstringguid>
</d2p1:Providers>
<d2p1:RequireConfirmation>false</d2p1:RequireConfirmation>
<d2p1:RequirePayment>false</d2p1:RequirePayment>
<d2p1:ServiceType>Reservation</d2p1:ServiceType>
<d2p1:SubTitle>String</d2p1:SubTitle>
<d2p1:TimeOption xmlns:d3p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Service">
<d3p1:DailyOptions>
<d3p1:Checkin>PT0S</d3p1:Checkin>
<d3p1:Checkout>PT0S</d3p1:Checkout>
</d3p1:DailyOptions>
<d3p1:Id>00000000-0000-0000-0000-000000000000</d3p1:Id>
<d3p1:TimespanOptions>
<d3p1:Increment>0</d3p1:Increment>
<d3p1:IncrementPriceMultiplier>0</d3p1:IncrementPriceMultiplier>
<d3p1:MaxDuration>0</d3p1:MaxDuration>
<d3p1:MinDuration>0</d3p1:MinDuration>
</d3p1:TimespanOptions>
<d3p1:Type>Daily</d3p1:Type>
</d2p1:TimeOption>
<d2p1:VATPercentage>0</d2p1:VATPercentage>
</Data>
</ServiceResponse>