### Bulk Create Person API Source: https://api.ireckonu.com/swagger/1-bulk/swagger This endpoint allows for the bulk creation of persons within the Ireckonu system. It supports syncing with external systems and optional membership enrollment. ```APIDOC ## POST /api/persons/bulk ### Description Allows for the bulk creation of persons. Includes options for syncing with external systems and enrolling in membership programs. ### Method POST ### Endpoint /api/persons/bulk ### Parameters #### Request Body - **Persons** (array) - Optional - An array of person objects to create. - **HotelCode** (string) - Optional - The code for the hotel where the persons will be created. - **Source** (string) - Optional - The originating system for this request. - **ExternalSystemsToSync** (array of strings) - Optional - A list of external systems to sync the "Person Created" event with. - **EnrollMembership** (boolean) - Optional - Whether to enroll the created persons in a membership program. - **EnrollMembershipProgram** (string) - Optional - The name of the membership program to enroll persons into. ### Request Example ```json { "Persons": [ { "FirstName": "John", "LastName": "Doe", "Email": "john.doe@example.com" } ], "HotelCode": "HOTEL123", "EnrollMembership": true, "EnrollMembershipProgram": "Loyalty" } ``` ### Response #### Success Response (200) - **Count** (integer) - The number of persons successfully created. #### Response Example ```json { "Count": 1 } ``` ``` -------------------------------- ### POST /bapi/v1/reservation/create Source: https://api.ireckonu.com/swagger/1-bulk/swagger Creates reservations in bulk using the provided request payload. This endpoint is designed for efficient creation of multiple reservations simultaneously. ```APIDOC ## POST /bapi/v1/reservation/create ### Description This endpoint allows for the creation of multiple reservations in a single request. It accepts a bulk request object containing reservation details and returns the results of the creation operation. ### Method POST ### Endpoint /bapi/v1/reservation/create ### Parameters #### Request Body - **reservations** (array of objects) - Required - A list of reservation objects to be created. - **reservation** (object) - Required - Details for a single reservation. - **guestName** (string) - Required - The name of the guest. - **checkInDate** (string) - Required - The check-in date in YYYY-MM-DD format. - **checkOutDate** (string) - Required - The check-out date in YYYY-MM-DD format. - **roomTypeId** (string) - Required - The ID of the room type. - **paymentInformation** (object) - Optional - Payment details for the reservation. - **amount** (number) - Optional - The total amount including tax. - **currencyCode** (string) - Optional - The three-letter currency code (ISO 4217). - **dueAmount** (number) - Optional - The amount due. ### Request Example ```json { "reservations": [ { "guestName": "John Doe", "checkInDate": "2023-10-26", "checkOutDate": "2023-10-28", "roomTypeId": "suite-101", "paymentInformation": { "amount": 500.00, "currencyCode": "USD", "dueAmount": 250.00 } } ] } ``` ### Response #### Success Response (200) - **data** (array of objects) - A list of results for each reservation creation attempt. - **reservationId** (string) - The ID of the created reservation. - **success** (boolean) - Indicates if the reservation was created successfully. - **errors** (array of strings) - A list of errors if the creation failed. #### Response Example ```json { "data": [ { "reservationId": "res-12345", "success": true, "errors": [] } ] } ``` ``` -------------------------------- ### Reservation Check-in/out Details Source: https://api.ireckonu.com/swagger/1-bulk/swagger This section outlines the parameters related to reservation check-in and check-out times. ```APIDOC ## Reservation Timing Details ### Description Defines the check-in and check-out time parameters for reservations. ### Parameters #### Request Body (Example Structure) ```json { "CheckinTime": "14:00:00", "CheckoutTime": "11:00:00" } ``` ### Response #### Success Response (200) - **CheckinTime** (string) - Checkin time (hh:mm:ss). - **CheckoutTime** (string) - Checkout time (hh:mm:ss). #### Response Example ```json { "CheckinTime": "14:00:00", "CheckoutTime": "11:00:00" } ``` ``` -------------------------------- ### POST /reservations Source: https://api.ireckonu.com/swagger/1-bulk/swagger Creates a new reservation. This endpoint accepts a detailed reservation object and returns the created reservation's details. ```APIDOC ## POST /reservations ### Description Creates a new reservation. This endpoint accepts a detailed reservation object and returns the created reservation's details. ### Method POST ### Endpoint /reservations ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **ArrivalDate** (string) - Required - Arrival date (and time) in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). - **DepartureDate** (string) - Required - Departure date (and time) in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). - **NumberOfPersons** (integer) - Required - Number of adults. - **HotelCode** (string) - Required - Code for the hotel. - **RatePlan** (object) - Required - Rate plan details. - **CompanyId** (integer) - Optional - Middleware ID for the company. - **ExternalReferences** (array) - Optional - Describes the external references. - **Contacts** (array) - Optional - Describes the reservation contacts. - **Policies** (array) - Optional - Minimally describes the policies for reservations. - **Signature** (string) - Optional - Authorizing signature. - **SubReservations** (array) - Optional - Sub reservations. - **PaymentMethodId** (integer) - Optional - Middleware payment method ID. - **AgencyId** (integer) - Optional - IRU ID for agency. - **Attributes** (array) - Optional - Lists associated attributes. - **ExtraData** (object) - Optional - Any extra data. - **CheckinTime** (string) - Optional - Checkin time (hh:mm:ss). - **CheckoutTime** (string) - Optional - Checkout time (hh:mm:ss). - **ExtraServices** (array) - Optional - Describes the extra services. - **GroupCode** (string) - Optional - Group rate booking code. - **GuaranteeTypeCode** (string) - Optional - Code for the guarantee type. =['GuaranteeToCreditCard', 'GuaranteeByCompany', 'GuaranteeByTravelAgent', 'NonGuaranteed']. - **MarketingCode** (string) - Optional - Code for the marketing campaign. - **NumberOfChildren** (integer) - Optional - Number of children. ### Request Example ```json { "ArrivalDate": "2024-08-15T14:00:00Z", "DepartureDate": "2024-08-20T11:00:00Z", "NumberOfPersons": 2, "HotelCode": "HOTEL123", "RatePlan": { "Code": "STANDARD", "CurrencyCode": "USD" }, "Contacts": [ { "FirstName": "John", "LastName": "Doe", "Email": "john.doe@example.com" } ] } ``` ### Response #### Success Response (200) - **ReservationId** (string) - Unique identifier for the reservation. - **Status** (string) - Current status of the reservation. - **ArrivalDate** (string) - Arrival date (and time) in UTC, ISO 8601. - **DepartureDate** (string) - Departure date (and time) in UTC, ISO 8601. #### Response Example ```json { "ReservationId": "RES789012", "Status": "Confirmed", "ArrivalDate": "2024-08-15T14:00:00Z", "DepartureDate": "2024-08-20T11:00:00Z" } ``` ``` -------------------------------- ### POST /bapi/v1/person/create Source: https://api.ireckonu.com/swagger/1-bulk/swagger This endpoint allows for the bulk creation of persons. It accepts a request body containing a list of person objects to be created. ```APIDOC ## POST /bapi/v1/person/create ### Description Allows for the bulk creation of persons. It accepts a request body containing a list of person objects to be created. ### Method POST ### Endpoint /bapi/v1/person/create ### Parameters #### Request Body - **requestBody** (object) - Required - The payload for bulk person creation, conforming to the BulkCreatePersonRequestApiModel schema. ### Request Example ```json { "persons": [ { "firstName": "John", "lastName": "Doe", "email": "john.doe@example.com" } ] } ``` ### Response #### Success Response (200) - **data** (array) - A list of results for each person creation attempt, conforming to BulkPersonCreateResultModel. - **message** (string) - A success message. - **status** (integer) - The HTTP status code. #### Response Example ```json { "data": [ { "id": "123e4567-e89b-12d3-a456-426614174000", "success": true, "errors": [] } ], "message": "Persons created successfully.", "status": 200 } ``` ``` -------------------------------- ### Bulk Create/Update Reservations Source: https://api.ireckonu.com/swagger/1-bulk/swagger This endpoint facilitates the bulk creation and updating of reservations. It accepts an array of reservation objects, each containing comprehensive details about the reservation and associated individuals. ```APIDOC ## POST /websites/api_ireckonu_swagger/reservations/bulk ### Description Allows for the bulk creation and updating of reservations. Each reservation object can include detailed person information. ### Method POST ### Endpoint /websites/api_ireckonu_swagger/reservations/bulk ### Parameters #### Request Body - **reservations** (array) - Required - A list of reservation objects to be created or updated. - **reservation** (object) - Required - Represents a single reservation. - **Source** (string) - Optional - The originating system for the reservation. - **ExternalSystemsToSync** (array of strings) - Optional - External systems to sync the 'Person Created' event with. - **Persons** (array of objects) - Optional - A list of people associated with the reservation. - **RecordId** (string) - Optional - Unique ID to identify the bulk record. - **PersonId** (integer) - Optional - Middleware ID for the person. - **IpAddress** (string) - Optional - IP address of the requesting system. (Max 50 characters) - **Title** (string) - Optional - The person's title. (Max 50 characters) [DEPRECATED] - **FirstName** (string) - Optional - First name for the person. (Max 255 characters) [DEPRECATED] - **LastName** (string) - Optional - Last name for the person. (Max 255 characters) [DEPRECATED] - **EmailAddress** (string) - Optional - Contact email address. (Max 255 characters) [DEPRECATED] - **Names** (array of objects) - Optional - Lists linked names. - **ExtraEmailAddresses** (array of strings) - Optional - Lists linked email addresses in short form (excluding the primary email). [DEPRECATED] - **EmailAddresses** (array of objects) - Optional - Lists linked email addresses. - **PhoneNumbers** (array of objects) - Optional - Lists linked phone numbers. - **LanguageCode** (string) - Optional - Three-letter language code, ISO 639-2. (Max 20 characters) - **CountryCode** (string) - Optional - Two-letter country code, ISO 3166-1. (Max 20 characters) - **HotelCode** (string) - Optional - Code for the hotel. (Max 50 characters) - **TypeCode** (string) - Optional - Type of the person. Allowed values: ['Booker','Guest','Agency','Marketing','Emergency']. (Max 100 characters) - **GenderCode** (string) - Optional - Gender of the person. Allowed values: ['Male','Female','Unknown']. (Max 100 characters) ### Request Example ```json { "reservations": [ { "Source": "ExampleSource", "ExternalSystemsToSync": ["SystemA", "SystemB"], "Persons": [ { "RecordId": "p123", "PersonId": 1001, "IpAddress": "192.168.1.1", "FirstName": "John", "LastName": "Doe", "EmailAddress": "john.doe@example.com", "Names": [ { "NameType": "Legal", "FirstName": "Jonathan", "LastName": "Doe" } ], "EmailAddresses": [ { "EmailAddress": "john.doe.work@example.com", "IsPrimary": false } ], "PhoneNumbers": [ { "PhoneNumber": "+1234567890", "PhoneType": "Mobile", "IsPrimary": true } ], "LanguageCode": "ENG", "CountryCode": "US", "HotelCode": "HOTELXYZ", "TypeCode": "Guest", "GenderCode": "Male" } ] } ] } ``` ### Response #### Success Response (200) - **successfulReservations** (array) - A list of successfully processed reservations. - **failedReservations** (array) - A list of reservations that failed to process, with error details. #### Response Example ```json { "successfulReservations": [ { "reservationId": "res_abc123", "personRecordIds": ["p123"] } ], "failedReservations": [ { "reservationData": { ... }, "errors": ["Invalid data format for EmailAddress"] } ] } ``` ``` -------------------------------- ### Bulk Operations API Source: https://api.ireckonu.com/swagger/1-bulk/swagger This section details bulk operations for creating and updating entities within the Ireckonu system. It includes models for request and response payloads, as well as error handling. ```APIDOC ## Bulk Operations Models ### BulkFilterType Enumeration for filtering bulk operations. - **Values**: `Created`, `Updated`, `Arrival`, `Departure` ### BulkOrderingPropertiesType Enumeration for ordering bulk operations. - **Values**: `ASC`, `DESC` ### BulkPersonCreateResultModel Represents the result of a bulk person creation operation. #### Properties - **RecordId** (string, nullable) - The ID of the record. - **Success** (boolean) - Indicates if the operation was successful. - **Id** (integer, nullable) - The ID of the created person. - **ErrorMessage** (string, nullable) - An error message if the operation failed. ### BulkReservationCreateUpdateResultModel Represents the result of a bulk reservation creation or update operation. #### Properties - **RecordId** (string, nullable) - The ID of the record. - **Success** (boolean) - Indicates if the operation was successful. - **Id** (integer, nullable) - The ID of the reservation. - **ErrorMessage** (string, nullable) - An error message if the operation failed. - **Created** (boolean) - Indicates if the reservation was created. - **Updated** (boolean) - Indicates if the reservation was updated. ### BaseApiErrors Represents a standard error structure for API responses. #### Properties - **Code** (string, nullable) - The error code. - **Message** (string, nullable) - The error message text. ### BaseDataResultApiModel[List[BulkPersonCreateResultModel]] Represents a paginated result containing a list of `BulkPersonCreateResultModel`. #### Properties - **Data** (array[BulkPersonCreateResultModel], nullable) - The list of person creation results. - **Success** (boolean, readOnly) - True if the API call was successful. - **Errors** (array[BaseApiErrors], nullable) - A list of errors. - **Warnings** (array[BaseApiErrors], nullable) - A list of warnings. ### BaseDataResultApiModel[List[BulkReservationCreateUpdateResultModel]] Represents a paginated result containing a list of `BulkReservationCreateUpdateResultModel`. #### Properties - **Data** (array[BulkReservationCreateUpdateResultModel], nullable) - The list of reservation creation/update results. - **Success** (boolean, readOnly) - True if the API call was successful. - **Errors** (array[BaseApiErrors], nullable) - A list of errors. - **Warnings** (array[BaseApiErrors], nullable) - A list of warnings. ``` -------------------------------- ### Bulk Create/Update Reservation Source: https://api.ireckonu.com/swagger/1-bulk/swagger This endpoint allows for the bulk creation or update of reservations. It accepts an array of reservation objects, each containing detailed information about a reservation. ```APIDOC ## POST /websites/api_ireckonu_swagger/reservations/bulk ### Description Allows for the bulk creation or update of reservations. ### Method POST ### Endpoint /websites/api_ireckonu_swagger/reservations/bulk ### Parameters #### Request Body - **Reservations** (array) - Required - An array of reservation objects to be created or updated. ### Request Example ```json { "Reservations": [ { "NumberOfChildren": 0, "NumberOfUnits": 1, "Comments": null, "RatePlans": [], "Services": [], "UnitTypeCode": "1001", "UnitCode": "A101", "Source": "Web", "SubSource": "Website", "PmsStatusCode": "OK", "PromoCode": null, "System": null, "BookingDateTime": "2023-10-27T10:00:00Z", "Type": "Stay", "ServiceTypeCode": "ROOM", "Notes": [], "ActualArrivalDateTime": null, "ActualDepartureDateTime": null, "RequestedUnitTypeCode": null, "LastChangedDateTime": "2023-10-27T10:00:00Z", "CancellationDateTime": null } ] } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the status of the bulk operation. - **message** (string) - A message detailing the outcome of the operation. #### Response Example ```json { "status": "Success", "message": "Reservations processed successfully." } ``` ``` -------------------------------- ### Create Reservation API Source: https://api.ireckonu.com/swagger/1-bulk/swagger This endpoint is used to create a new reservation. It accepts detailed information about the reservation, including primary guest, booker, company, agency, payment details, and other persons involved. ```APIDOC ## POST /websites/api_ireckonu_swagger ### Description Creates a new reservation with specified details. ### Method POST ### Endpoint /websites/api_ireckonu_swagger ### Parameters #### Request Body - **LocalReservationId** (integer) - Optional - Reference to the linked reservation. - **SessionCode** (string) - Optional - Unique ID for this session. Max length: 50. - **PersonPmsReferenceCode** (string) - Optional - PMS ID for the person. Max length: 50. - **PrimaryGuest** (object) - Optional - Details of the primary guest. - **Booker** (object) - Optional - Details of the booker. - **Company** (object) - Optional - Details of the company. - **Agency** (object) - Optional - Details of the agency. - **PaymentInformation** (object) - Optional - Payment details for the reservation. - **Persons** (array of objects) - Optional - Describes extra people for a reservation that don't already have a profile. - **PersonIds** (array of integers) - Optional - IDs for extra persons linked to the reservation that already have a profile. - **BookerId** (integer) - Optional - Middleware ID for the booker. - **PrimaryGuestId** (integer) - Optional - Middleware ID for the primary guest. - **CompanyId** (integer) - Optional - Middleware ID for the company. - **ExternalReferences** (array of objects) - Optional - Describes the external references. - **Contacts** (array of objects) - Optional - Describes the reservation contacts. - **Policies** (array of objects) - Optional - Minimally describes the policies for reservations. - **Signature** (string) - Optional - Authorizing signature. - **SubReservations** (array of objects) - Optional - Sub reservations. - **PaymentMethodId** (integer) - Optional - Middleware payment method ID. - **AgencyId** (integer) - Optional - IRU ID for agency. - **Attributes** (array of objects) - Optional - Lists associated attributes. ### Request Example ```json { "SessionCode": "TESTSESSION123", "PrimaryGuest": { "FirstName": "John", "LastName": "Doe" }, "Booker": { "FirstName": "Jane", "LastName": "Doe" }, "PaymentInformation": { "PaymentType": "CreditCard" } } ``` ### Response #### Success Response (200) - **ReservationId** (integer) - The ID of the newly created reservation. - **Status** (string) - The status of the reservation. #### Response Example ```json { "ReservationId": 12345, "Status": "Confirmed" } ``` ``` -------------------------------- ### Reservation Details Object Source: https://api.ireckonu.com/swagger/1-bulk/swagger Defines the structure for a reservation, including names, descriptions, currency, breakdown, tax information, and pricing. ```APIDOC ## Reservation Details Object ### Description Represents a reservation with details like name, description, currency, daily breakdown, tax information, and total pricing. ### Properties - **Name** (string) - Optional - Display name. Max length: 100. - **Description** (string) - Optional - Extra details or comments. Max length: 1024. - **CurrencyCode** (string) - Optional - Three-letter currency code, ISO 4217. Max length: 50. - **Breakdown** (array) - Optional - Describes the daily breakdown of services. Items are of type DailyBreakdownV11ApiModel. - **TaxIncluded** (boolean) - True if tax is included in the price. - **TotalPrice** (number) - Final charge amount. Format: double. - **TotalTaxAmount** (number) - Total amount of taxes. Format: double, Nullable. - **TotalExtraTaxAmount** (number) - Total amount of extra taxes. Format: double, Nullable. - **CancellationPolicyCode** (string) - Optional - Cancellation policy code. Max length: 100. - **GuaranteeCode** (string) - Optional - The guarantee code. Max length: 100. - **MarketCode** (string) - Optional - Code for the marketing campaign. Max length: 255. - **FullStayWithTaxAndAdditionals** (number) - Total cost of the stay. Format: double, Nullable. ### Additional Properties This object does not allow additional properties. ``` -------------------------------- ### Reservation Service Details Source: https://api.ireckonu.com/swagger/1-bulk/swagger This section details the structure and properties of a reservation service, including its type, code, name, timing, pricing, and associated unit information. ```APIDOC ## Reservation Service API ### Description Provides details for reservation services, including their unique identifiers, start and end times, pricing, and associated unit information. This schema is used for defining services within a reservation. ### Endpoint `/websites/api_ireckonu_swagger` (This is a placeholder as the specific endpoint is not provided in the input. Actual endpoint would be required for a functional API). ### Parameters #### Request Body (Example Structure based on provided properties) ```json { "Id": 123, "Type": "Hotel", "Code": "HR101", "Name": "Standard Room", "Description": "A comfortable standard room.", "StartDateTime": "2023-10-27T14:00:00Z", "EndDateTime": "2023-10-29T11:00:00Z", "ExcludedTaxAmount": 0.0, "IncludedTaxAmount": 10.0, "Amount": 150.0, "Quantity": 1, "UnitCode": "UNIT-A1", "NumberOfPersons": 2, "NumberOfChildren": 0, "UnitTypeCode": "STD", "UnitTypeName": "Standard", "ResourceCode": "RES-001", "MarketCode": "WEB", "Source": "Booking.com", "System": "PMS", "SubSource": "API" } ``` ### Response #### Success Response (200) - **Id** (integer) - The Service Id - **Type** (string) - The type of the service (e.g., Hotel, Meeting, PasserBy, Paymaster, Coworking). - **Code** (string) - The code uniquely for this service. Defined by the CRS or PMS. - **Name** (string) - The display name for the service. - **Description** (string, nullable) - Long display name for the service. - **StartDateTime** (string) - The start day and time (format: date-time). - **EndDateTime** (string) - The end day and time (format: date-time). - **ExcludedTaxAmount** (number, nullable) - Specify extra taxes (citytax etc) (format: double). - **IncludedTaxAmount** (number, nullable) - If tax is included inside the amount, specify the included tax amount (format: double). - **Amount** (number, nullable) - The price of the rate plan day (format: double). - **Quantity** (integer, nullable) - Quantity of the service per date. Defaults to 1 if not supplied (format: int32). - **UnitCode** (string, nullable) - Unit number. - **NumberOfPersons** (integer) - The number of adults. - **NumberOfChildren** (integer, nullable) - The number of children. - **UnitTypeCode** (string) - Unit type. - **UnitTypeName** (string) - The unit type name corresponding to the unit type code. - **ResourceCode** (string, nullable) - The resource code. - **MarketCode** (string, nullable) - If available a Market Code (a.k.a. Marketing Code). - **Source** (string, nullable) - Source system, where the reservation was created (e.g. Booking.com). - **System** (string, nullable) - System which created the reservation in our system (e.g. Opera). - **SubSource** (string, nullable) - Further specification for the source. #### Response Example ```json { "Id": 123, "Type": "Hotel", "Code": "HR101", "Name": "Standard Room", "Description": "A comfortable standard room.", "StartDateTime": "2023-10-27T14:00:00Z", "EndDateTime": "2023-10-29T11:00:00Z", "ExcludedTaxAmount": 0.0, "IncludedTaxAmount": 10.0, "Amount": 150.0, "Quantity": 1, "UnitCode": "UNIT-A1", "NumberOfPersons": 2, "NumberOfChildren": 0, "UnitTypeCode": "STD", "UnitTypeName": "Standard", "ResourceCode": "RES-001", "MarketCode": "WEB", "Source": "Booking.com", "System": "PMS", "SubSource": "API" } ``` ``` -------------------------------- ### Rate Plan Information Source: https://api.ireckonu.com/swagger/1-bulk/swagger Provides details about rate plans, including codes, names, and daily rate information. This endpoint is crucial for understanding pricing structures. ```APIDOC ## GET /websites/api_ireckonu_swagger/rate-plans ### Description Retrieves a list of available rate plans. ### Method GET ### Endpoint /websites/api_ireckonu_swagger/rate-plans ### Parameters #### Query Parameters - **Code** (string) - Optional - Filter rate plans by their code. - **Name** (string) - Optional - Filter rate plans by their name. ### Request Example ``` GET /websites/api_ireckonu_swagger/rate-plans?Name=StandardRate ``` ### Response #### Success Response (200) - **Code** (string) - The unique code for the rate plan. - **Name** (string) - The name of the rate plan. - **RatePlanDays** (array) - An array of objects, each representing a day's rate details. - **Date** (string) - The date for this rate. - **BaseRate** (number) - The base rate for the day. - **ExtraCharges** (array) - A list of extra charges for the day. - **Description** (string) - Description of the extra charge. - **GroupTypeCode** (string) - Grouping code for the service. - **Quantity** (integer) - Number of items. - **IsIncluded** (boolean) - Indicates if the extra price is included in the rate. - **RatePlanCode** (string) - Link to the rate plan code. #### Response Example ```json [ { "Code": "STD", "Name": "Standard Rate", "RatePlanDays": [ { "Date": "2023-10-27", "BaseRate": 100.00, "ExtraCharges": [ { "Description": "Breakfast", "GroupTypeCode": "MEAL", "Quantity": 1, "IsIncluded": false, "RatePlanCode": "STD" } ] } ] } ] ``` ``` -------------------------------- ### Reservation Lookup Parameters Source: https://api.ireckonu.com/swagger/1-bulk/swagger Defines parameters for looking up reservation data. Includes options to include source company, notes, custom filters, and extensions. ```APIDOC ## POST /api/reservations/lookup ### Description This endpoint allows for detailed lookups of reservation data based on specified parameters. It supports various inclusion flags and filtering options. ### Method POST ### Endpoint /api/reservations/lookup ### Parameters #### Request Body - **IncludeSourceCompany** (boolean) - Optional - True if the source company should be included. - **IncludeNotes** (boolean) - Optional - True if the comments should be included. - **SourceCompany** (object) - Optional - Parameters for looking up the source company. - **Schema**: #/components/schemas/Middleware.Cloud.Reservations.Web.Models.v11.ReservationCtrl.LookupCompanyParametersV11ApiModel - **CustomFilters** (array[string]) - Optional - Any custom filters. - **Extension** (object) - Optional - Extension lookup request details. - **Schema**: #/components/schemas/Middleware.Cloud.Reservations.Web.Models.v11.ReservationCtrl.ExtensionLookupRequestApiModel ### Request Example ```json { "IncludeSourceCompany": true, "IncludeNotes": false, "CustomFilters": ["filter1", "filter2"], "Extension": {} } ``` ### Response #### Success Response (200) - **(Response structure depends on specific lookup results)** #### Response Example ```json { "reservationData": "..." } ``` ``` -------------------------------- ### Bulk Create/Update Reservation API Source: https://api.ireckonu.com/swagger/1-bulk/swagger Handles the bulk creation or update of reservations. It requires essential details like arrival and departure dates, hotel code, number of persons, number of units, and a session code. ```APIDOC ## POST /reservations/bulk ### Description This endpoint allows for the bulk creation or update of reservations. It's designed to handle multiple reservation requests efficiently within a single API call. ### Method POST ### Endpoint /reservations/bulk ### Parameters #### Request Body - **RecordId** (string) - Optional - Unique ID to identify bulk record - **LocalReservationId** (integer) - Optional - Reference to the linked reservation. - **SessionCode** (string) - Required - Unique ID for this session. - **PersonPmsReferenceCode** (string) - Optional - PMS ID for the person. - **PrimaryGuest** (object) - Required - Details of the primary guest. (See PersonBaseApiModel schema) - **Booker** (object) - Required - Details of the booker. (See PersonBaseApiModel schema) - **Company** (object) - Optional - Details of the company making the reservation. (See CompanyApiModel schema) - **Agency** (object) - Optional - Details of the travel agency. (See CompanyApiModel schema) - **PaymentInformation** (object) - Optional - Payment details for the reservation. (See PaymentInformationApiModel schema) - **Persons** (array) - Optional - Describes the extra people for a reservation that don't already have a profile. Each item should be a PersonBaseApiModel. - **PersonIds** (array) - Optional - IDs for extra persons linked to the reservation that already have a profile. Each item is an integer. - **BookerId** (integer) - Optional - Middleware ID for the booker. - **PrimaryGuestId** (integer) - Optional - Middleware ID for the primary guest. - **ArrivalDate** (string) - Required - The arrival date for the reservation in YYYY-MM-DD format. - **DepartureDate** (string) - Required - The departure date for the reservation in YYYY-MM-DD format. - **HotelCode** (string) - Required - The code of the hotel where the reservation is made. - **NumberOfPersons** (integer) - Required - The total number of persons for the reservation. - **NumberOfUnits** (integer) - Required - The number of units (rooms) reserved. ### Request Example ```json { "SessionCode": "SESS12345", "PrimaryGuest": { "FirstName": "John", "LastName": "Doe", "Email": "john.doe@example.com" }, "Booker": { "FirstName": "Jane", "LastName": "Doe", "Email": "jane.doe@example.com" }, "ArrivalDate": "2024-08-15", "DepartureDate": "2024-08-20", "HotelCode": "HOTEL001", "NumberOfPersons": 2, "NumberOfUnits": 1 } ``` ### Response #### Success Response (200) - **ReservationId** (integer) - The ID of the created or updated reservation. - **RecordId** (string) - The ID of the bulk record. #### Response Example ```json { "ReservationId": 123456, "RecordId": "BULKREC987" } ``` ``` -------------------------------- ### Reservation Schema Details Source: https://api.ireckonu.com/swagger/1-bulk/swagger Provides details on the various fields available within the reservation schema, including data types, descriptions, and constraints. ```APIDOC ## Reservation Schema Details This documentation outlines the fields and their properties within the reservation schema. It covers common reservation attributes and nested objects. ### Fields - **SourceReservationId** (integer) - Nullable - Source Reservation ID for this entry. - **NumberOfPersons** (integer) - Minimum 0, Maximum 100 - Number of adults. - **NumberOfChildren** (integer) - Nullable, Minimum 0, Maximum 100 - Number of children. - **NumberOfInfants** (integer) - Nullable, Minimum 0, Maximum 100 - Number of infants. - **NumberOfUnits** (integer) - Minimum 0, Maximum 100 - Number of units. - **NumberOfNights** (integer) - ReadOnly - Number of nights. - **Comments** (string) - Nullable, Deprecated, MinLength 0, MaxLength 1024 - Any comments. - **Source** (string) - Nullable, MinLength 0, MaxLength 100 - The originating system. - **SubSource** (string) - Nullable, MinLength 0, MaxLength 100 - Further specification for the source. - **GroupCode** (string) - Nullable, MinLength 0, MaxLength 50 - Group rate booking code. - **GuaranteeTypeCode** (string) - Nullable, MinLength 0, MaxLength 50 - Code for the guarantee type. Possible values: ['GuaranteeToCreditCard', 'GuaranteeByCompany', 'GuaranteeByTravelAgent', 'NonGuaranteed']. - **MarketCode** (string) - Nullable, MinLength 0, MaxLength 50 - Code for the marketing campaign. - **PromoCode** (string) - Nullable, MinLength 0, MaxLength 50 - Code for the promotion. - **ActualArrivalDate** (string) - Nullable - The actual arrival date (and time) (available if status is I or H) in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). - **ActualDepartureDate** (string) - Nullable - The actual departure date (and time) (available if status H) in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). - **Booker** (object) - References the Person API model. - **PrimaryGuest** (object) - References the Person API model. - **RatePlan** (object) - References the RatePlan API model. - **RatePlans** (array) - Nullable - Describes the rate plans. Contains RatePlan objects. - **Services** (array) - Nullable - Describes the services. Contains Service objects. - **Agency** (object) - References the Company API model. - **Company** (object) - References the Company API model. - **SourceCompany** (object) - References the Company API model. ``` -------------------------------- ### Preference Details Source: https://api.ireckonu.com/swagger/1-bulk/swagger Defines the structure for user preferences, including required fields like Code and TypeCode. ```APIDOC ## Preference Details ### Description This section describes the schema for user preferences. It specifies the mandatory fields and the data types for preference information. ### Method N/A ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **Code** (string) - Required. The preference code. - **TypeCode** (string) - Required. The type code for the preference. #### Response Example { "Code": "PREF123", "TypeCode": "TYPE001" } ``` -------------------------------- ### Reservation Details Source: https://api.ireckonu.com/swagger/1-bulk/swagger This section details the structure and fields for reservation objects, including booking and cancellation timestamps, status codes, and associated persons and external references. ```APIDOC ## Reservation Object Details ### Description Provides a comprehensive structure for reservation data, encompassing timestamps, status, and relationships. ### Fields - **BookingDateTime** (string) - Optional - Booking date and time in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). - **CancellationDateTime** (string) - Optional - Cancellation date and time in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). - **StatusCode** (string) - Optional - Reservation Status. - **LinkedPersons** (array) - Optional - Lists persons associated with the Service. - Items: Reference to `Middleware.Cloud.Reservations.Web.Models.v11.ReservationCtrl.PersonServiceV11ApiModel` - **ExternalReferences** (array) - Optional - Describes the external references. - Items: Reference to `Middleware.Cloud.Reservations.Web.Models.v11.ReservationCtrl.ExternalReferenceV11ApiModel` ``` -------------------------------- ### Stay Summary Details Source: https://api.ireckonu.com/swagger/1-bulk/swagger Provides a summary of a guest's stay, including dates, revenue, and number of nights. ```APIDOC ## Stay Summary Details ### Description This section outlines the structure for a guest's stay summary. It includes aggregated information about stays at a property, such as the number of nights, total revenue, and currency codes. ### Method N/A ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **Id** (integer) - Middleware ID for this entry. - **CurrencyCode** (string, nullable) - Three-letter currency code, ISO 4217. - **HotelCode** (string, nullable) - Code for the hotel. - **LastStayDate** (string, date-time, nullable) - Date of the last stay in UTC, ISO 8601 (YYYY-MM-DD). - **NumberOfNights** (integer, nullable) - Number of nights. - **NumberOfStays** (integer, nullable) - Total number of stays. - **StayTotalRevenue** (number, nullable) - Total revenue in the property currency. - **StayTotalRevenueEnterprise** (number, nullable) - Total revenue in the chain currency. - **LastStayUnit** (string, nullable) - Unit number from the last stay. - **LastStayRevenue** (number, nullable) - Revenue from the last stay. - **TotalRoomRevenue** (number, nullable) - Total room revenue. - **TotalAncillaryRevenue** (number, nullable) - Total ancillary revenue. - **TotalRoomEnterprise** (number, nullable) - Total room revenue in the chain currency. - **TotalAncillaryEnterprise** (number, nullable) - Total ancillary revenue in the chain currency. - **CreatedDateTime** (string, date-time) - Creation date and time in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). - **LastUpdateDateTime** (string, date-time) - Last update date and time in UTC, ISO 8601 (YYYY-MM-DDThh:mm:sssZ). #### Response Example { "Id": 12345, "CurrencyCode": "USD", "HotelCode": "HOTEL001", "LastStayDate": "2023-10-26", "NumberOfNights": 3, "NumberOfStays": 5, "StayTotalRevenue": 750.00, "StayTotalRevenueEnterprise": 750.00, "LastStayUnit": "Room 502", "LastStayRevenue": 250.00, "TotalRoomRevenue": 1500.00, "TotalAncillaryRevenue": 100.00, "TotalRoomEnterprise": 1500.00, "TotalAncillaryEnterprise": 100.00, "CreatedDateTime": "2023-10-27T10:00:00Z", "LastUpdateDateTime": "2023-10-27T10:00:00Z" } ```