Viviot.Api

<back to all web services

ExternalReservations

Requires Authentication
Requires the role:ReservationPublisher
The following routes are available for this service:
POST/client/reservationAccepts and stores a collection of reservations from an external system.
ExternalReservationsResponse Parameters:
NameParameterData TypeRequiredDescription
ReservationsformList<ReservationView>No
BaseResponse Parameters:
NameParameterData TypeRequiredDescription
ResponseStatusformResponseStatusNo
ReservationView Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
StateformReservationStateNo
ReasonDeniedformstringNo
GuestsformList<ReservationGuestDto>No
AdditionalDataformReservationAdditionalDataDtoNo
VisitDataformReservationVisitDataDtoNo
AccessTemplatesformList<ReservationAccessTemplateDto>No
ExternalIdformstringNo
ReservationGuestInfosformList<ReservationGuestInfoDto>No
ReservationState Enum:
NameValue
New0
Assigned10
WaitingForConfirmation15
PendingActivation20
Active30
Expired40
Denied50
Cancelled60
ReservationGuestDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
ViviotIdformstringNo
GuestFirstNameformstringNo
GuestLastNameformstringNo
EmailformstringNo
PhoneformstringNo
GuestTypeformGuestTypeNo
Iso3166alpha2CodeformstringNo
SendInvitationformboolNo
SendAccountActivationEmailformboolNo
GuestType Enum:
NameValue
Business1
Leisure2
ReservationAdditionalDataDto Parameters:
NameParameterData TypeRequiredDescription
LicensePlatesformList<string>No
CommentformstringNo
WelcomeMessageformstringNo
CompanyformstringNo
AccessCardsformList<AccessCardDataDto>No
AccessCardDataDto Parameters:
NameParameterData TypeRequiredDescription
CardNumberformstringNo
ThingIdsformList<Guid>No
ReservationVisitDataDto Parameters:
NameParameterData TypeRequiredDescription
VisitTypeformVisitTypeNo
CheckinformDateTime?No
CheckoutformDateTime?No
DoesNotContainTimeInfoformbool?No
VisitType Enum:
NameValue
DateTime1
AccessCount2
ReservationAccessTemplateDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
NameformstringNo
DescriptionformstringNo
IsAvailableformboolNo
OccupiedUntilformDateTime?No
ReservationIdentifierformstringNo
AccessCodeInitializationStrategyformintNo
TagsformList<TagDto>No
SmartspacesformList<ReservationSmartSpaceDto>No
ThingsformList<ThingAccessTemplateDto>No
TagDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
NameformstringNo
TagGroupIdformGuidNo
ReservationSmartSpaceDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
NameformstringNo
AccessFromformTimeSpan?No
AccessToformTimeSpan?No
AccessCountformint?No
AccessCardNumbersformstringNo
ThingAccessTemplateDto Parameters:
NameParameterData TypeRequiredDescription
IdformGuid?No
OrganizationIdformGuidNo
ThingIdformGuidNo
ThingNameformstringNo
ThingTypeNameformstringNo
ExclusiveformboolNo
AvailableFromformint?No
AvailableToformint?No
AccessCountformint?No
AccessLevelformstringNo
PermissionformList<string>No
ReservationGuestInfoDto Parameters:
NameParameterData TypeRequiredDescription
GuestFirstNameformstringNo
GuestLastNameformstringNo
CountryformstringNo
DateOfBirthformDateTimeNo
DocumentTypeformIdDocumentTypeNo
DocumentNumberformstringNo
GenderformGenderNo
TimestampformDateTimeNo
EmailformstringNo
IdDocumentType Enum:
NameValue
ObmejnaPrepustnica1
PotneListinePoMednarodniPogodbi2
OsebnaIzkaznica3
OrozniList4
PotniList5
UpravneListine6
VozniskoDovoljenje7
Gender Enum:
NameValue
Male1
Female2

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

HTTP + XML

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

POST /client/reservation HTTP/1.1 
Host: api.4spaces.io 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ExternalReservations xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Viviot.Api.ServiceModel.Api.Business">
  <RequestStream xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.IO" i:nil="true" />
</ExternalReservations>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ExternalReservationsResponse 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>
  <Reservations xmlns:d2p1="http://schemas.datacontract.org/2004/07/Viviot.Api.ServiceModel.Views.Business.Reservation">
    <d2p1:ReservationView>
      <d2p1:AccessTemplates xmlns:d4p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Reservation">
        <d4p1:ReservationAccessTemplateDto>
          <d4p1:AccessCodeInitializationStrategy>0</d4p1:AccessCodeInitializationStrategy>
          <d4p1:Description>String</d4p1:Description>
          <d4p1:Id>00000000-0000-0000-0000-000000000000</d4p1:Id>
          <d4p1:IsAvailable>false</d4p1:IsAvailable>
          <d4p1:Name>String</d4p1:Name>
          <d4p1:OccupiedUntil>0001-01-01T00:00:00</d4p1:OccupiedUntil>
          <d4p1:ReservationIdentifier>String</d4p1:ReservationIdentifier>
          <d4p1:Smartspaces>
            <d4p1:ReservationSmartSpaceDto>
              <d4p1:AccessCardNumbers>String</d4p1:AccessCardNumbers>
              <d4p1:AccessCount>0</d4p1:AccessCount>
              <d4p1:AccessFrom>PT0S</d4p1:AccessFrom>
              <d4p1:AccessTo>PT0S</d4p1:AccessTo>
              <d4p1:Id>00000000-0000-0000-0000-000000000000</d4p1:Id>
              <d4p1:Name>String</d4p1:Name>
            </d4p1:ReservationSmartSpaceDto>
          </d4p1:Smartspaces>
          <d4p1:Tags xmlns:d6p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Tag">
            <d6p1:TagDto>
              <d6p1:Id>00000000-0000-0000-0000-000000000000</d6p1:Id>
              <d6p1:Name>String</d6p1:Name>
              <d6p1:TagGroupId>00000000-0000-0000-0000-000000000000</d6p1:TagGroupId>
            </d6p1:TagDto>
          </d4p1:Tags>
          <d4p1:Things xmlns:d6p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.AccessTemplate">
            <d6p1:ThingAccessTemplateDto>
              <d6p1:AccessCount>0</d6p1:AccessCount>
              <d6p1:AccessLevel>String</d6p1:AccessLevel>
              <d6p1:AvailableFrom>0</d6p1:AvailableFrom>
              <d6p1:AvailableTo>0</d6p1:AvailableTo>
              <d6p1:Exclusive>false</d6p1:Exclusive>
              <d6p1:Id>00000000-0000-0000-0000-000000000000</d6p1:Id>
              <d6p1:OrganizationId>00000000-0000-0000-0000-000000000000</d6p1:OrganizationId>
              <d6p1:Permission xmlns:d8p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                <d8p1:string>String</d8p1:string>
              </d6p1:Permission>
              <d6p1:ThingId>00000000-0000-0000-0000-000000000000</d6p1:ThingId>
              <d6p1:ThingName>String</d6p1:ThingName>
              <d6p1:ThingTypeName>String</d6p1:ThingTypeName>
            </d6p1:ThingAccessTemplateDto>
          </d4p1:Things>
        </d4p1:ReservationAccessTemplateDto>
      </d2p1:AccessTemplates>
      <d2p1:AdditionalData xmlns:d4p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Reservation">
        <d4p1:AccessCards>
          <d4p1:AccessCardDataDto>
            <d4p1:CardNumber>String</d4p1:CardNumber>
            <d4p1:ThingIds xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:guid>00000000-0000-0000-0000-000000000000</d7p1:guid>
            </d4p1:ThingIds>
          </d4p1:AccessCardDataDto>
        </d4p1:AccessCards>
        <d4p1:Comment>String</d4p1:Comment>
        <d4p1:Company>String</d4p1:Company>
        <d4p1:LicensePlates xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </d4p1:LicensePlates>
        <d4p1:WelcomeMessage>String</d4p1:WelcomeMessage>
      </d2p1:AdditionalData>
      <d2p1:ExternalId>String</d2p1:ExternalId>
      <d2p1:Guests xmlns:d4p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Reservation">
        <d4p1:ReservationGuestDto>
          <d4p1:Email>String</d4p1:Email>
          <d4p1:GuestFirstName>String</d4p1:GuestFirstName>
          <d4p1:GuestLastName>String</d4p1:GuestLastName>
          <d4p1:GuestType>Business</d4p1:GuestType>
          <d4p1:Id>00000000-0000-0000-0000-000000000000</d4p1:Id>
          <d4p1:Iso3166alpha2Code>String</d4p1:Iso3166alpha2Code>
          <d4p1:Phone>String</d4p1:Phone>
          <d4p1:SendAccountActivationEmail>false</d4p1:SendAccountActivationEmail>
          <d4p1:SendInvitation>false</d4p1:SendInvitation>
          <d4p1:ViviotId>String</d4p1:ViviotId>
        </d4p1:ReservationGuestDto>
      </d2p1:Guests>
      <d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id>
      <d2p1:ReasonDenied>String</d2p1:ReasonDenied>
      <d2p1:ReservationGuestInfos xmlns:d4p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Reservation">
        <d4p1:ReservationGuestInfoDto>
          <d4p1:Country>String</d4p1:Country>
          <d4p1:DateOfBirth>0001-01-01T00:00:00</d4p1:DateOfBirth>
          <d4p1:DocumentNumber>String</d4p1:DocumentNumber>
          <d4p1:DocumentType>ObmejnaPrepustnica</d4p1:DocumentType>
          <d4p1:Email>String</d4p1:Email>
          <d4p1:Gender>Male</d4p1:Gender>
          <d4p1:GuestFirstName>String</d4p1:GuestFirstName>
          <d4p1:GuestLastName>String</d4p1:GuestLastName>
          <d4p1:Timestamp>0001-01-01T00:00:00</d4p1:Timestamp>
        </d4p1:ReservationGuestInfoDto>
      </d2p1:ReservationGuestInfos>
      <d2p1:State>New</d2p1:State>
      <d2p1:VisitData xmlns:d4p1="http://schemas.datacontract.org/2004/07/Viviot.Infrastructure.Dto.Reservation">
        <d4p1:Checkin>0001-01-01T00:00:00</d4p1:Checkin>
        <d4p1:Checkout>0001-01-01T00:00:00</d4p1:Checkout>
        <d4p1:DoesNotContainTimeInfo>false</d4p1:DoesNotContainTimeInfo>
        <d4p1:VisitType>DateTime</d4p1:VisitType>
      </d2p1:VisitData>
    </d2p1:ReservationView>
  </Reservations>
</ExternalReservationsResponse>