The Booking Management module provides comprehensive functionality for creating, managing, and tracking equipment bookings and reservations within the Syniotec API Platform.
Base URL:
https://integration-api.ram.syniotec.com/master-data/v1/booking-management
Available Operations
- POST
/bookingsCreate a new booking - GET
/bookings/{id}- Get booking by ID - PATCH
/bookings/{id}- Update booking - DELETE
/bookings/{id}- Delete booking - GET
/bookings/external-id/{externalId}- Get booking by external ID
Data Models & Schemas
Booking Entity
{
"id": "string",
"startDate": "date-time",
"endDate": "date-time",
"entityId": "string",
"productId": "string",
"productType": "enum",
"quantity": "number",
"externalId": "string",
"changePrice": "boolean",
"normalUsage": "number",
"unitType": "enum",
"normalPrice": "number",
"exceptionalUsagePrice": "number",
"normalUsageType": "enum",
"periodType": "enum",
"status": "enum",
"billingStatus": "enum",
"cost": "number",
"pickUpAddress": "string",
"deliveryAddress": "string",
"selfPickUp": "boolean",
"lastUpdatedById": "string",
"updatedAt": "date-time",
"deletedAt": "date-time",
"contract": {
"id": "string",
"pickUpAddress": "string",
"deliveryAddress": "string",
"selfPickUp": "boolean",
"title": "string",
"number": "string",
"startDate": "date-time",
"endDate": "date-time",
"author": "uuid",
"point": {
"lng": "number",
"lat": "number"
},
"organization": "uuid",
"clientId": "uuid",
"isInactive": "boolean",
"structureId": "uuid",
"street": "string",
"city": "string",
"country": "string",
"constructionName": "string",
"zipCode": "string",
"contactName": "string",
"contactPosition": "string",
"contactPhone": "string",
"contactEmail": "string",
"additionalInformation": "string",
"externalId": "string",
"createdAt": "date-time",
"updatedAt": "date-time",
"bookings": []
},
"releases": [
{
"id": "string",
"startDate": "date-time",
"endDate": "date-time",
"percentage": "number",
"priceAfterDiscount": "number",
"reason": "string",
"author": "string",
"organizationId": "uuid",
"externalId": "string"
}
]
}Field Descriptions:
id- A unique identifier for the booking recordstartDate- Represents the date and time when the booking begins. It should be formatted in a standard date-time format (e.g., ISO 8601)endDate- Represents the date and time when the booking concludes. Like startDate, it should also be formatted in a standard date-time formatentityId- A unique identifier (string) for the entity associated with the record. This helps link the entry to specific equipment or personproductId- A unique identifier (string) for the product associated with the record. This helps link the entry to specific productproductType- Product type. (See available options here: ProductType)quantity- Booking days quantityexternalId- External system identifierchangePrice- Whether to apply dynamic pricingnormalUsage- A numerical value represents the baseline or standard usage amount for a bookingnormalUsageType- A string that describes period/condition according to which the normal usage is considered. (See available options here: BookingNormalUsageType)periodType- A string that specifies the type of period the price is calculated, such as working days, calendar days and etc. (See available options here: BookingPeriodTypeunitType- Unit type for the booking product (See available options here: ProductUnitTypenormalPrice- A numerical value representing the standard price associated with the normal usageexceptionalUsagePrice- A numerical value indicating the price for usage that exceeds the normal usage limitsstatus- Status of Booking (See available options here: BookingStatusbillingStatus- Status of Billing (See available options here: BillingStatuspickUpAddress- The pickup address for the bookingdeliveryAddress- The delivery address for the bookingselfPickUp- A boolean value indicating whether the client will pick up the items themselvesupdatedAt- Last update timestamplastUpdatedById- ID of user who last updated the bookingcontract- The associated contract entity with all its details (See more details here: Contractsreleases- Array of associated releases for this booking- id - A unique identifier (UUID) for the release record
- startDate - The date and time when the release period begins, formatted in ISO 8601 standard (UTC).
- endDate - The date and time when the release period ends, also formatted in ISO 8601 standard (UTC).
- percentage - value representing the discount percentage applied during this release period. This value indicates how much of the booking price should be discounted or released
- priceAfterDiscount - A numerical value representing the final price after applying the discount percentage. This is the calculated price that remains after the release discount is applied
- reason - A text field providing the reason or justification for the release. This helps document why a particular release period was created, such as equipment downtime, customer credit, or promotional discount
- author - A unique identifier (string) representing the individual or system that created the release record. This helps track who is responsible for creating the release entry
- organizationId - A unique identifier (UUID) for the organization associated with the release record, helping to link the entry to a specific organizational entity
- externalId - An optional identifier that connects this release record to external systems or databases, facilitating integration with other platforms or billing systems
Enum Fields
periodType:
CALENDAR_DAYS- Price calculated based on calendar daysWORKING_DAYS- Price calculated based on working days onlyALT_CALENDAR_DAYS- Price calculated based on alternative calendar (6 working days include Saturday)
normalUsageType:
DAY- Normal usage considered per dayWEEK- Normal usage considered per weekMONTH- Normal usage considered per month
bookingStatus:
RESERVEDPLANNEDIN_PROGRESSCOMPLETED
billingStatus:
NOT_BILLEDPARTIALLY_BILLEDFULLY_BILLED
Error Response DTO
Standard error response format.
{
"status": "number",
"success": "boolean",
"message": "string",
"error": "string"
}Field Descriptions:
status- HTTP status code (400-503)success- Boolean indicating the operation failed (false)message- Human-readable error messageerror- Error code identifier