openapi: 3.2.0 info: title: Lokki Order Lld API description: The main API powering the Lokki Dashboard and Online Store version: '2.0' contact: {} servers: [] security: - x-access-token: [] tags: - name: Order Lld paths: /v2/order-lld/list-lld: get: operationId: listLldOrders parameters: - name: startDate required: true in: query schema: format: date-time type: string - name: endDate required: true in: query schema: format: date-time type: string - name: page required: false in: query schema: minimum: 1 default: 1 type: number - name: limit required: false in: query schema: maximum: 30 default: 15 type: number - name: searchCustomer required: false in: query schema: default: '' type: string - name: documentName required: false in: query schema: default: '' type: string - name: searchProducts required: false in: query schema: default: '' type: string - name: state required: false in: query schema: default: [] type: array items: type: string enum: - TODAY - TO_COME - IN_PROGRESS - LATE - ENDED - PASS - PRE_BOOKING - PRE_BOOKING_ADMIN - CANCELED - name: personalStatus required: false in: query schema: default: [] type: array items: type: string - name: documentStatus required: false in: query schema: enum: - NOTUPTODATE - WAITING - SIGNED - SENT type: string - name: createFromStatus required: false in: query schema: default: [] type: array items: type: string enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT - name: withPaymentV2 required: false in: query schema: default: false type: boolean responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListPaginateFilterLldDto' tags: - Order Lld /v2/order-lld: get: operationId: getManyOrdersLLD parameters: - name: skip required: false in: query description: Number of documents to skip schema: minimum: 0 default: 0 type: number - name: limit required: false in: query description: Maximum number of documents to return schema: minimum: 1 type: number - name: sort required: false in: query schema: oneOf: - type: array items: type: string - type: string description: 'Sort order for the results. Use ''__asc'' or ''__desc'' suffix to specify ascending or descending order respectively. Example: ''name__asc''' - name: fields required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Fields to include in the response - name: id.isNull required: false in: query description: Filter entries that have the field as null schema: type: boolean - name: id.exists required: false in: query description: Filter entries that have the field not null schema: type: boolean - name: id.equals required: false in: query description: Filter entries that have a specific value schema: type: string - name: id.notEquals required: false in: query description: Filter entries that do not have a specific value schema: type: string - name: id.in required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match any of the specified values - name: id.notIn required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that do not match any of the specified values - name: id.contains required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that contain the specified substring - name: id.regex required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match the specified regular expression - name: createdAt.isNull required: false in: query description: Filter entries that have the field as null schema: type: boolean - name: createdAt.exists required: false in: query description: Filter entries that have the field not null schema: type: boolean - name: createdAt.equals required: false in: query description: Filter entries that match a specific date schema: type: string - name: createdAt.notEquals required: false in: query description: Filter entries that do not match a specific date schema: type: string - name: createdAt.in required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match any of the specified dates - name: createdAt.notIn required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that do not match any of the specified dates - name: createdAt.gt required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date greater than the specified date - name: createdAt.lt required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date less than the specified date - name: createdAt.gte required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date greater than or equal to the specified date - name: createdAt.lte required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date less than or equal to the specified date - name: customerId.isNull required: false in: query description: Filter entries that have the field as null schema: type: boolean - name: customerId.exists required: false in: query description: Filter entries that have the field not null schema: type: boolean - name: customerId.equals required: false in: query description: Filter entries that have a specific value schema: type: string - name: customerId.notEquals required: false in: query description: Filter entries that do not have a specific value schema: type: string - name: customerId.in required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match any of the specified values - name: customerId.notIn required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that do not match any of the specified values - name: customerId.contains required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that contain the specified substring - name: customerId.regex required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match the specified regular expression - name: inRange.from required: false in: query schema: type: date - name: inRange.to required: false in: query schema: type: date - name: isRequest.isNull required: false in: query description: Filter entries that have the field as null schema: type: boolean - name: isRequest.exists required: false in: query description: Filter entries that have the field not null schema: type: boolean - name: isRequest.equals required: false in: query description: Filter entries that match a specific value schema: type: boolean - name: isRequest.notEquals required: false in: query description: Filter entries that do not match a specific value schema: type: boolean - name: startDate.isNull required: false in: query description: Filter entries that have the field as null schema: type: boolean - name: startDate.exists required: false in: query description: Filter entries that have the field not null schema: type: boolean - name: startDate.equals required: false in: query description: Filter entries that match a specific date schema: type: string - name: startDate.notEquals required: false in: query description: Filter entries that do not match a specific date schema: type: string - name: startDate.in required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match any of the specified dates - name: startDate.notIn required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that do not match any of the specified dates - name: startDate.gt required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date greater than the specified date - name: startDate.lt required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date less than the specified date - name: startDate.gte required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date greater than or equal to the specified date - name: startDate.lte required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date less than or equal to the specified date - name: endDate.isNull required: false in: query description: Filter entries that have the field as null schema: type: boolean - name: endDate.exists required: false in: query description: Filter entries that have the field not null schema: type: boolean - name: endDate.equals required: false in: query description: Filter entries that match a specific date schema: type: string - name: endDate.notEquals required: false in: query description: Filter entries that do not match a specific date schema: type: string - name: endDate.in required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match any of the specified dates - name: endDate.notIn required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that do not match any of the specified dates - name: endDate.gt required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date greater than the specified date - name: endDate.lt required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date less than the specified date - name: endDate.gte required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date greater than or equal to the specified date - name: endDate.lte required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries with a date less than or equal to the specified date - name: type.isNull required: false in: query description: Filter entries that have the field as null schema: type: boolean - name: type.exists required: false in: query description: Filter entries that have the field not null schema: type: boolean - name: type.equals required: false in: query description: Filter entries that have a specific value schema: type: string - name: type.notEquals required: false in: query description: Filter entries that do not have a specific value schema: type: string - name: type.in required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that match any of the specified values - name: type.notIn required: false in: query schema: oneOf: - type: array items: type: string - type: string description: Filter entries that do not match any of the specified values - name: orderStatus required: false in: query schema: oneOf: - type: array items: type: string - type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetManyOrdersLLDResponseDto' tags: - Order Lld /v2/order-lld/optimized/unpaid: get: operationId: getUnpaidOrdersLLD parameters: - name: inRange.startDate required: false in: query schema: format: date-time type: string - name: inRange.endDate required: false in: query schema: format: date-time type: string - name: typeNotEquals required: false in: query schema: type: array items: type: string enum: - ORDER - PRE_BOOKING - PRE_BOOKING_ADMIN - CANCELED - name: isRequest required: false in: query schema: type: boolean responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/UnpaidOrderSimplifiedDto' tags: - Order Lld /v2/order-lld/get-by-subproduct/{subProductId}: get: operationId: getLldOrdersBySubProductId parameters: - name: subProductId required: true in: path schema: type: string - name: page required: false in: query schema: minimum: 1 default: 1 type: number - name: limit required: false in: query schema: maximum: 15 default: 15 type: number responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ListPaginateFilterLldDto' tags: - Order Lld /v2/order-lld/getPaymentInfoByDateRange: get: operationId: getPaymentInfoLldOrdersByDateRange parameters: - name: startDate required: true in: query schema: format: date-time type: string - name: endDate required: true in: query schema: format: date-time type: string - name: page required: false in: query schema: minimum: 1 default: 1 type: number - name: limit required: false in: query schema: maximum: 30 default: 15 type: number - name: searchCustomer required: false in: query schema: default: '' type: string - name: documentName required: false in: query schema: default: '' type: string - name: searchProducts required: false in: query schema: default: '' type: string - name: state required: false in: query schema: default: [] type: array items: type: string enum: - TODAY - TO_COME - IN_PROGRESS - LATE - ENDED - PASS - PRE_BOOKING - PRE_BOOKING_ADMIN - CANCELED - name: personalStatus required: false in: query schema: default: [] type: array items: type: string - name: documentStatus required: false in: query schema: enum: - NOTUPTODATE - WAITING - SIGNED - SENT type: string - name: createFromStatus required: false in: query schema: default: [] type: array items: type: string enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT - name: withPaymentV2 required: false in: query schema: default: false type: boolean responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaymentInfoDto' tags: - Order Lld /v2/order-lld/getPaginatedPaidLldPaymentsByDateRange: get: operationId: getPaginatedPaidLldPaymentsByDateRange parameters: - name: startDate required: true in: query schema: format: date-time type: string - name: endDate required: true in: query schema: format: date-time type: string - name: page required: false in: query schema: minimum: 1 default: 1 type: number - name: limit required: false in: query schema: maximum: 30 default: 15 type: number - name: searchCustomer required: false in: query schema: default: '' type: string - name: documentName required: false in: query schema: default: '' type: string - name: searchProducts required: false in: query schema: default: '' type: string - name: state required: false in: query schema: default: [] type: array items: type: string enum: - TODAY - TO_COME - IN_PROGRESS - LATE - ENDED - PASS - PRE_BOOKING - PRE_BOOKING_ADMIN - CANCELED - name: personalStatus required: false in: query schema: default: [] type: array items: type: string - name: documentStatus required: false in: query schema: enum: - NOTUPTODATE - WAITING - SIGNED - SENT type: string - name: createFromStatus required: false in: query schema: default: [] type: array items: type: string enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT - name: withPaymentV2 required: false in: query schema: default: false type: boolean responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginatedPaymentsWithOrderLldDto' tags: - Order Lld /v2/order-lld/getNotPaidOrderLldPaginated: get: operationId: getNotPaidOrderLldPaginated parameters: - name: startDate required: true in: query schema: format: date-time type: string - name: endDate required: true in: query schema: format: date-time type: string - name: page required: false in: query schema: minimum: 1 default: 1 type: number - name: limit required: false in: query schema: maximum: 30 default: 15 type: number - name: searchCustomer required: false in: query schema: default: '' type: string - name: documentName required: false in: query schema: default: '' type: string - name: searchProducts required: false in: query schema: default: '' type: string - name: state required: false in: query schema: default: [] type: array items: type: string enum: - TODAY - TO_COME - IN_PROGRESS - LATE - ENDED - PASS - PRE_BOOKING - PRE_BOOKING_ADMIN - CANCELED - name: personalStatus required: false in: query schema: default: [] type: array items: type: string - name: documentStatus required: false in: query schema: enum: - NOTUPTODATE - WAITING - SIGNED - SENT type: string - name: createFromStatus required: false in: query schema: default: [] type: array items: type: string enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT - name: withPaymentV2 required: false in: query schema: default: false type: boolean responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PaginatedLldOrdersDto' tags: - Order Lld /v2/order-lld/paginatedWithMessages: get: operationId: orderRequestsLLDPaginatedWithMessages parameters: - name: size required: true in: query schema: type: number - name: page required: true in: query schema: type: number responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OrderRequestLLDList' tags: - Order Lld /v2/order-lld/ordersInfoByCustomerId/{customerId}/{year}: get: operationId: lldOrdersInfoByCustomerId parameters: - name: customerId required: true in: path description: The ID of the customer example: 65b2f3d1b7a4e8f1a2c3d4e5 schema: type: string - name: year required: true in: path description: Year to filter on (0 aggregates across all years) example: 0 schema: type: number responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OrdersInfoForCustomerDto' tags: - Order Lld /v2/order-lld/countOrderRequest: get: operationId: countOrderRequestLLD parameters: [] responses: '200': description: '' content: application/json: schema: type: number tags: - Order Lld /v2/order-lld/{id}: get: operationId: getLLDOrderById parameters: - name: id required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/orderRequestLLD/{id}: get: operationId: getOrderRequestLLDById parameters: - name: id required: true in: path schema: type: string - name: buildSubProducts required: false in: query schema: type: boolean responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/pendingLLDOrdersByCustomer/{customerId}: get: operationId: getPendingLLDOrdersByCustomer parameters: - name: customerId required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/byItemId/{itemId}: get: operationId: getLLDOrderByItemId parameters: - name: itemId required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/lldOrdersInDateRange/{startDate}/{endDate}: get: operationId: lldOrdersInDateRange parameters: - name: startDate required: true in: path schema: format: date-time type: string - name: endDate required: true in: path schema: format: date-time type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/recover-payment-from-stripe/{companyId}/{orderId}: post: operationId: recoverLldPaymentFromStripe parameters: - name: companyId required: true in: path schema: type: string - name: orderId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RecoverLldPaymentFromStripeDto' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/PaymentV2' tags: - Order Lld /v2/order-lld/recover-refund-from-stripe/{companyId}/{orderId}: post: operationId: recoverLldRefundFromStripe parameters: - name: companyId required: true in: path schema: type: string - name: orderId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RecoverRefundFromStripeDto' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/PaymentV2' tags: - Order Lld /v2/order-lld/generate-subscription-link/{companyId}/{orderId}: post: operationId: generateSubscriptionLink parameters: - name: companyId required: true in: path schema: type: string - name: orderId required: true in: path schema: type: string responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/PaymentV2' tags: - Order Lld /v2/order-lld/create-random-order-lld/{companyId}: post: operationId: createRandomOrderLLD parameters: - name: companyId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateRandomOrderLLDDto' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/create-order-lld: post: operationId: createOrderLLD parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateUpdateOrderLLDBodyDto' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/create-order-lld-from-request/{orderLLDId}: post: operationId: createOrderLLDFromRequest parameters: - name: orderLLDId required: true in: path schema: type: string - name: assignAvailableProducts required: false in: query schema: type: boolean responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/delete-order-lld-request/{orderLLDId}: post: operationId: deleteOrderRequestLLDById parameters: - name: orderLLDId required: true in: path schema: type: string responses: '201': description: '' content: application/json: schema: type: object tags: - Order Lld /v2/order-lld/update-order-lld/{id}: put: operationId: updateOrderLLD parameters: - name: id required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateUpdateOrderLLDBodyDto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/uploadSurveyDocuments/{orderLldId}: post: operationId: uploadSurveyDocumentLLD parameters: - name: orderLldId required: true in: path schema: type: string requestBody: required: true content: multipart/form-data: schema: $ref: '#/components/schemas/UploadDocumentToOrderDto' responses: '201': description: '' tags: - Order Lld /v2/order-lld/createDocument: post: operationId: createDocumentOrderLld parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDocumentOrderLldDto' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/Document' tags: - Order Lld /v2/order-lld/createDocumentForSignature: post: operationId: createDocumentForSignatureOrderLld parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDocumentForSignatureOrderLldDto' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/DocumentLLD' tags: - Order Lld /v2/order-lld/removeDocument: post: operationId: removeDocumentOrderLld parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RemoveDocumentOrderLldDto' responses: '201': description: '' tags: - Order Lld /v2/order-lld/getSignedUrl/{orderLldId}/{documentId}/{scope}: get: operationId: getSignedUrlOrderLld parameters: - name: orderLldId required: true in: path schema: type: string - name: documentId required: true in: path schema: type: string - name: scope required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/YourOrderSignUrlDto' tags: - Order Lld /v2/order-lld/attachFile/{orderLldId}: put: operationId: attachLldOrderFiles parameters: - name: orderLldId required: true in: path schema: type: string requestBody: required: true description: upload file content: multipart/form-data: schema: $ref: '#/components/schemas/OrderUploadFilesDto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/deleteAttachment/{orderLldId}/{key}: put: operationId: deleteLldAttachment parameters: - name: orderLldId required: true in: path schema: type: string - name: key required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/updateNotes/{orderLldId}: put: operationId: updateLldOrderNotes parameters: - name: orderLldId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateNotesLldDto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CompleteOrderLLD' tags: - Order Lld /v2/order-lld/online-store/{id}: get: operationId: getOnlineStoreOrderLLDById parameters: - name: id required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/OnlineStoreOrderLLD' tags: - Order Lld /v2/order-lld/emails/{orderLLDId}/manual: post: operationId: sendEmailOrderLLD parameters: - name: orderLLDId required: true in: path schema: type: string requestBody: required: true content: multipart/form-data: schema: $ref: '#/components/schemas/FormDataSendMailDto' responses: '201': description: '' tags: - Order Lld /v2/order-lld/emails/{orderLLDId}/cancelation: post: operationId: sendEmailOrderLLDCancel parameters: - name: orderLLDId required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SendMailDto' responses: '201': description: '' tags: - Order Lld /v2/order-lld/cancel/{orderLLDId}: post: operationId: cancelOrderLLD parameters: - name: orderLLDId required: true in: path schema: type: string responses: '201': description: '' content: application/json: schema: type: object tags: - Order Lld /v2/order-lld/deletePermanently/{orderLLDId}: delete: operationId: deleteOrderLLDPermanently parameters: - name: orderLLDId required: true in: path schema: type: string responses: '200': description: '' content: application/json: schema: type: object tags: - Order Lld components: schemas: OfflinePayment: type: object properties: type: $ref: '#/components/schemas/OfflinePaymentProvider' method: enum: - CARD - CASH - CHECK - CHECK_VACANCES - TRANSFER - SQUARE_TERMINAL - OTHER type: string refundedPaymentId: type: string refundReason: enum: - DUPLICATE - FRAUDULENT - REQUESTED_BY_CUSTOMER - OTHER type: string required: - type - method PromoCodeCreateOrderDto: type: object properties: code: type: string source: type: string enum: - COMPANY - LOKKI discountAmount: type: number discountType: type: string applyOnDelivery: type: boolean limitToNewCustomers: type: boolean limitToVerticales: type: array items: type: string limitToCompanies: type: array items: type: string appliedDiscountAmount: type: number required: - code - source - discountAmount - discountType - applyOnDelivery OrderMessageAutoCancel: type: object properties: type: type: string default: AUTO_CANCEL enum: - AUTO_CANCEL message: type: string id: type: string date: format: date-time type: string solved: type: boolean required: - type - message - id - date - solved RecoverLldPaymentFromStripeDto: type: object properties: paymentIntentId: type: string required: - paymentIntentId ShifterInfo: type: object properties: shifterId: type: string status: type: string enum: - IMPORTED - TO_IMPORT - NONE importedDate: format: date-time type: - string - 'null' required: - shifterId - status - importedDate ServiceCreateUpdateOrderDto: type: object properties: id: type: string numberSelected: type: number name: type: string rentalType: type: string enum: - LCD - LLD onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' price: type: number isAssuranceTulip: type: boolean priceLabelToDisplay: type: string serviceImage: type: array items: type: string vat: type: number initialUnitPrice: type: number discount: $ref: '#/components/schemas/ItemDiscount' surveyId: type: string answers: type: object required: - id - numberSelected - name - rentalType - onlineStoreName - onlineStoreDescription - price - isAssuranceTulip - priceLabelToDisplay - serviceImage - vat - initialUnitPrice - discount - answers TulipInfos: type: object properties: address: type: string zipcode: type: string city: type: string managerFirstName: type: string managerLastName: type: string sirenNumber: type: string required: - address - zipcode - city - managerFirstName - managerLastName - sirenNumber PaymentSquareRef: type: object properties: squarePaymentId: type: string squareOrderId: type: string required: - squarePaymentId - squareOrderId PackCategoryCreateOrderDto: type: object properties: id: type: string value: type: string required: - id - value StripePaymentLongTermDepositType: type: string enum: - LONG_TERM_DEPOSIT ProductPriceRule: type: object properties: id: type: string title: type: string rules: type: array items: $ref: '#/components/schemas/PriceRule' required: - id - title - rules OrderRef: type: object properties: id: type: string startDate: format: date-time type: string endDate: format: date-time type: string totalTTC: type: number totalHT: type: number createdFrom: type: string enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT required: - id - startDate - endDate - totalTTC - totalHT - createdFrom PriceRuleVariation: type: object properties: rule: allOf: - $ref: '#/components/schemas/ProductPriceRule' deltaAmount: type: number price: type: number required: - rule - deltaAmount - price DocumentState: type: object properties: createdDate: format: date-time type: string documentId: type: string isEmailSend: type: boolean isSigned: type: boolean key: type: string name: type: string events: type: array items: $ref: '#/components/schemas/DocumentStateEvent' status: type: string enum: - PENDING - SUCCESS pdfMonkeyDocumentId: type: string scope: type: string enum: - DEPART - RETOUR required: - createdDate - documentId - isEmailSend - isSigned - key - name - events OrderSubProduct: type: object properties: id: type: string isAvailable: type: boolean printed: type: boolean serialNumber: type: string archive: type: boolean externalQrCode: type: string status: type: string enum: - WAITING - USED - ENDED returnDate: format: date-time type: string answers: type: object required: - id - isAvailable - printed - serialNumber - archive - externalQrCode - status StripePaymentSubscriptionType: type: string enum: - SUBSCRIPTION UploadDocumentToOrderDto: type: object properties: files: type: array items: type: string format: binary uids: type: array items: type: string required: - files - uids OnlineStoreOrderItem: type: object properties: id: type: string name: $ref: '#/components/schemas/LocalizedContent' number: type: number price: type: number imageUrl: type: - string - 'null' warrantyAmount: type: - number - 'null' discount: $ref: '#/components/schemas/ItemDiscount' type: type: string enum: - PRODUCT - PACK - SERVICE - CUSTOM_ITEM required: - id - name - number - price - imageUrl - warrantyAmount - type GetManyOrdersLLDResponseDto: type: object properties: total: type: number description: Total number of documents matching the query minimum: 0 example: 150 docs: type: array items: $ref: '#/components/schemas/CompleteOrderLLD' required: - total - docs StripePaymentLokkiTransferPromoCodeType: type: string enum: - PROMO_CODE OrderUploadFilesDto: type: object properties: files: type: array items: type: string format: binary sizes: type: array items: type: number names: type: array items: type: string types: type: array items: type: string required: - files - sizes - names - types UpdateNotesLldDto: type: object properties: remark: type: string labelCalendar: type: string status: type: array items: $ref: '#/components/schemas/Status' colorCalendar: type: string required: - remark - labelCalendar - status - colorCalendar PaymentFees: type: object properties: applicationFeeHT: type: number applicationFeeTVA: type: number applicationFee: type: number stripeFee: type: number required: - applicationFee - stripeFee RpTracking: type: object properties: campaignid: type: string adgroupid: type: string keyword: type: string device: type: string gclid: type: string utm_source: type: string utm_medium: type: string utm_term: type: string utm_content: type: string utm_campaign: type: string referrer: type: string ae: type: string aesubid0: type: string aesubid1: type: string visitor_id: type: string session_id: type: string fbclid: type: string msclkid: type: string pre_booking_created_from: type: string enum: - manual platform: type: string enum: - DESKTOP_BROWSER - MOBILE_BROWSER - MOBILE_APP SubProductCreateUpdateOrderDto: type: object properties: _id: type: string serialNumber: type: string archive: type: boolean available: type: boolean status: type: string enum: - WAITING - USED - ENDED externalQrCode: type: string answers: type: object printed: type: boolean returnDate: format: date-time type: string required: - _id - serialNumber - archive - available - status - externalQrCode - answers StripePayment: type: object properties: type: $ref: '#/components/schemas/StripePaymentProvider' details: oneOf: - $ref: '#/components/schemas/StripePaymentPayment' - $ref: '#/components/schemas/StripePaymentRefund' - $ref: '#/components/schemas/StripePaymentLongTermDeposit' - $ref: '#/components/schemas/StripePaymentShortTermDeposit' - $ref: '#/components/schemas/StripePaymentSubscription' - $ref: '#/components/schemas/StripePaymentLokkiTransfer' - $ref: '#/components/schemas/StripePaymentLokkiTransferRefund' errorStatus: $ref: '#/components/schemas/StripePaymentErrorStatus' fees: allOf: - $ref: '#/components/schemas/PaymentFees' paymentMethodDetails: allOf: - $ref: '#/components/schemas/StripeExpressPaymentMethodDetail' errorCode: type: object errorMessage: type: - string - 'null' required: - type - details - fees - paymentMethodDetails - errorCode - errorMessage G8Info: type: object properties: g8Id: type: string status: type: string enum: - IMPORTED - TO_IMPORT - NONE importedDate: format: date-time type: - string - 'null' required: - g8Id - status - importedDate CreateUpdateOrderLLDBodyDto: type: object properties: id: type: string startDate: format: date-time type: string endDate: format: date-time type: string durationMonth: type: number browserTimezone: type: string packs: type: array items: $ref: '#/components/schemas/PackCreateUpdateOrderDto' products: type: array items: $ref: '#/components/schemas/ProductCreateUpdateOrderDto' services: type: array items: $ref: '#/components/schemas/ServiceCreateUpdateOrderDto' warrantedProducts: type: array items: $ref: '#/components/schemas/WarrantedProducts' customInputs: type: array items: $ref: '#/components/schemas/CustomItemCreateUpdateOrderDto' customer: $ref: '#/components/schemas/CreateUpdateOrderCustomer' remark: type: string attachedFiles: type: array items: $ref: '#/components/schemas/AttachedFile' status: type: array items: $ref: '#/components/schemas/Status' arrivalPoint: type: string departurePoint: type: string delivery: $ref: '#/components/schemas/Delivery' totalTTC: type: number totalHT: type: number depositPrice: type: number isDepositManuallyEdited: type: boolean promoCode: $ref: '#/components/schemas/PromoCodeCreateOrderDto' discount: type: number createdFrom: enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT type: string lang: enum: - fr - en - es - pt - it - pl - de - nl type: string orderStatus: enum: - TO_COME - IN_PROGRESS - ENDED - CANCELED - PRE_BOOKING type: string additionalTimeBeforeOrder: type: number additionalTimeAfterOrder: type: number orderRequestId: type: string quoteRequestId: type: string colorCalendar: type: string offlineId: type: string requestToOrderDate: format: date-time type: - string - 'null' isRequest: type: boolean required: - startDate - endDate - durationMonth - packs - products - services - customInputs - customer - totalTTC - totalHT - discount - createdFrom - lang - additionalTimeBeforeOrder - additionalTimeAfterOrder StripePaymentLokkiTransferPromoCode: type: object properties: type: $ref: '#/components/schemas/StripePaymentLokkiTransferPromoCodeType' promoCode: type: string discountAmount: type: number discountType: enum: - PERCENTAGE - AMOUNT type: string linkedStripePaymentId: type: string linkedAncvPaymentIds: type: array items: type: string required: - type - promoCode - discountAmount - discountType - linkedStripePaymentId - linkedAncvPaymentIds AncvConnectFees: type: object properties: amountTTC: type: number amountHT: type: number tva: type: number required: - amountTTC - amountHT - tva StripePaymentShortTermDepositType: type: string enum: - SHORT_TERM_DEPOSIT CustomerSkisetInfos: type: object properties: customerId: type: - string - 'null' required: - customerId StripePaymentErrorStatus: type: string enum: - requires_action - requires_confirmation - requires_payment_method EmailTemplate: type: object properties: id: type: string type: type: string object: $ref: '#/components/schemas/LocalizedContent' content: $ref: '#/components/schemas/LocalizedContent' companyId: type: string documents: $ref: '#/components/schemas/EmailTemplateDocument' documentState: $ref: '#/components/schemas/EmailTemplateDocument' payment: type: number bail: type: number hideTime: type: boolean hideDate: type: boolean createdAt: format: date-time type: string required: - id - type - object - content - companyId - payment - bail - hideTime - hideDate - createdAt StripePaymentLokkiTransferRefundType: type: string enum: - LOKKI_TRANSFER_REFUND WarrantedProducts: type: object properties: productId: type: string subProductId: type: string serialNumber: type: string margin: type: number pricePerDay: type: number tulipProductId: type: string tulipContractOptionType: type: string enum: - OPTION - INCLUSION - HIDDEN_INCLUSION packId: type: string required: - productId - subProductId - serialNumber - margin - pricePerDay - tulipProductId - tulipContractOptionType CustomItem: type: object properties: id: type: string name: type: string numberSelected: type: number price: type: number required: - id - name - numberSelected - price CustomerFieldDto: type: object properties: label: $ref: '#/components/schemas/LocalizedContent' value: type: string id: type: string required: - label - value - id DocumentLLD: type: object properties: createdDate: format: date-time type: string documentId: type: string documentModelId: type: string isEmailSend: type: boolean isSigned: type: boolean key: type: string name: type: string link: type: string comment: type: string status: enum: - TO_GENERATE - GENERATED - PENDING type: string required: - createdDate - documentId - documentModelId - isEmailSend - isSigned - key - name - link - comment - status OrderPackCategory: type: object properties: id: type: string value: type: string required: - id - value PackProductCreateUpdateOrderDto: type: object properties: depositAmount: type: number rentalType: type: string enum: - LCD - LLD id: type: string name: type: string onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' subProducts: type: array items: $ref: '#/components/schemas/SubProductCreateUpdateOrderDto' productImage: type: array items: type: string uuid: type: string vat: type: number type: type: string enum: - product - service surveyId: type: string required: - depositAmount - id - name - onlineStoreName - onlineStoreDescription - subProducts - productImage - uuid - vat - type StripePaymentProvider: type: string enum: - STRIPE TulipInformation: type: object properties: error: type: boolean errorMsg: type: string contractId: type: string totalAmount: type: number startDate: format: date-time type: - string - 'null' endDate: format: date-time type: - string - 'null' required: - error - contractId - totalAmount - startDate - endDate CustomItemCreateUpdateOrderDto: type: object properties: id: type: string name: type: string numberSelected: type: number price: type: number required: - id - name - numberSelected - price PaymentsInfo: type: object properties: method: type: string amount: type: number required: - method - amount PromoCode: type: object properties: code: type: string source: type: string enum: - COMPANY - LOKKI discountAmount: type: number discountType: type: string enum: - PERCENTAGE - AMOUNT appliedDiscountAmount: type: number applyOnDelivery: type: boolean limitToNewCustomers: type: boolean limitToVerticales: type: array items: type: string limitToCompanies: type: array items: type: string required: - code - source - discountAmount - discountType - applyOnDelivery CreateUpdateOrderCustomer: type: object properties: id: type: string lastName: type: string firstName: type: string email: type: string phone: type: string zipCode: type: string companyName: type: string isNewsletterSubscribe: type: boolean isLokkiNewsletterSubscribe: type: boolean fields: type: array items: $ref: '#/components/schemas/CustomerFieldDto' tulipInfos: $ref: '#/components/schemas/TulipInfos' customerRpId: type: string hidden: type: boolean required: - lastName StripePaymentRefund: type: object properties: type: $ref: '#/components/schemas/StripePaymentRefundType' refundId: type: string refundedPaymentId: type: string refundDate: format: date-time type: string refundReason: enum: - DUPLICATE - FRAUDULENT - REQUESTED_BY_CUSTOMER - OTHER type: string required: - type - refundId - refundedPaymentId - refundDate - refundReason GeneratePaymentLink: type: object properties: amount: type: number generate: type: boolean required: - amount - generate OrderService: type: object properties: isAssuranceTulip: type: boolean id: type: string name: type: string rentalType: type: string enum: - LCD - LLD onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' numberSelected: type: number serviceImage: type: array items: type: string price: type: number priceLabelToDisplay: type: string isDeleted: type: boolean vat: type: number initialUnitPrice: type: number discount: $ref: '#/components/schemas/ItemDiscount' surveyId: type: string answers: type: object required: - isAssuranceTulip - id - name - rentalType - onlineStoreName - onlineStoreDescription - numberSelected - serviceImage - price - priceLabelToDisplay - isDeleted - vat - initialUnitPrice - discount SentMailDataDto: type: object properties: sentDate: type: string id: type: string object: type: string recipients: $ref: '#/components/schemas/SentMailRecipients' actions: $ref: '#/components/schemas/SentMailDataActionsDto' status: type: string enum: - BOUNCED - NOT_OPENED - OPENED createdAt: format: date-time type: string required: - sentDate - id - object - actions - createdAt StripePaymentLokkiTransferType: type: string enum: - LOKKI_TRANSFER OrderRequestLLDList: type: object properties: orders: type: array items: $ref: '#/components/schemas/CompleteOrderLLD' total: type: number required: - orders - total YourOrderSignUrlDto: type: object properties: url: type: string required: - url PaymentWithOrderLldDto: type: object properties: type: type: string enum: - PAYMENT - SHORT_TERM_DEPOSIT - LONG_TERM_DEPOSIT - REFUND - SUBSCRIPTION - LOKKI_TRANSFER - LOKKI_TRANSFER_REFUND payment: $ref: '#/components/schemas/PaymentV2' customer: $ref: '#/components/schemas/Customer' orderLLD: $ref: '#/components/schemas/CompleteOrderLLD' required: - type - payment PaymentInfoDto: type: object properties: totalCount: type: number totalTTC: type: number totalHT: type: number payments: type: array items: $ref: '#/components/schemas/PaymentsInfo' required: - totalCount - totalTTC - totalHT - payments Document: type: object properties: createdDate: format: date-time type: string documentId: type: string documentModelId: type: string isEmailSend: type: boolean isSigned: type: boolean key: type: string name: type: string status: enum: - PENDING - SUCCESS - FAILED type: string pdfMonkeyDocumentId: type: string required: - createdDate - documentId - documentModelId - isEmailSend - isSigned - key - name ItemDiscount: type: object properties: discountType: type: string enum: - AMOUNT - PERCENTAGE amount: type: number required: - discountType - amount Status: type: object properties: category: type: string name: type: string color: type: string id: type: string statusId: type: string required: - category - name - color - id - statusId AttachedFile: type: object properties: name: type: string key: type: string size: type: number type: type: string uid: type: string required: - name - key - size - type StripePaymentLokkiTransfer: type: object properties: type: $ref: '#/components/schemas/StripePaymentLokkiTransferType' details: oneOf: - $ref: '#/components/schemas/StripePaymentLokkiTransferPromoCode' allOf: - $ref: '#/components/schemas/StripePaymentLokkiTransferPromoCode' transferId: type: string required: - type - details - transferId PointSchema: type: object properties: type: type: string coordinates: type: array items: type: number required: - type - coordinates UnpaidOrderSimplifiedDto: type: object properties: orderStatus: type: string enum: - CANCELED - ENDED - PRE_BOOKING - IN_PROGRESS - TO_COME orderId: type: string startDate: type: string endDate: type: string remainingBalance: type: number customerId: type: string customer: $ref: '#/components/schemas/CustomerRef' totalTTC: type: number required: - orderStatus - orderId - startDate - endDate - remainingBalance - customerId - customer - totalTTC AncvConnectPaymentDetail: type: object properties: preTransactionId: type: string qrCodeTransactionId: type: string transactionId: type: string method: enum: - QR_CODE - AUTHENTIFICATION type: string DocumentStateEvent: type: object properties: eventId: type: string productsHistoryId: type: string required: - eventId - productsHistoryId CustomerField: type: object properties: label: $ref: '#/components/schemas/LocalizedContent' value: type: string id: type: string required: - label - value - id OfflinePaymentProvider: type: string enum: - OFFLINE FormDataSendMailDto: type: object properties: files: type: array items: type: string format: binary orderId: type: string to: type: string cc: type: array items: type: string template: type: string object: type: string content: type: string i18nContent: type: string attachedDocumentId: type: string attachedDocumentStateId: type: string generateDocument: type: string generateDocumentState: type: string sendPaymentLinks: type: boolean generatePaymentLink: type: string generateBailLink: type: string generateSubscriptionLink: type: string hideDate: type: boolean hideTime: type: boolean lang: enum: - fr - en - es - pt - it - pl - de - nl type: string required: - files - orderId - object - content - sendPaymentLinks - generatePaymentLink - generateBailLink - generateSubscriptionLink - hideDate - hideTime - lang ListPaginateFilterLldDto: type: object properties: lldOrders: type: array items: $ref: '#/components/schemas/CompleteOrderLLD' totalCount: type: number required: - lldOrders - totalCount RecoverRefundFromStripeDto: type: object properties: stripeRefundId: type: string refundReason: type: string enum: - DUPLICATE - FRAUDULENT - REQUESTED_BY_CUSTOMER - OTHER required: - stripeRefundId - refundReason SentMailDataActionsDto: type: object properties: sign: type: boolean payment: type: boolean bail: type: boolean booster: type: boolean required: - sign - payment - bail OrderMessageQuestion: type: object properties: type: type: string default: QUESTION enum: - QUESTION message: type: string id: type: string date: format: date-time type: string solved: type: boolean required: - type - message - id - date - solved ProductCreateUpdateOrderDto: type: object properties: id: type: string productImage: type: array items: type: string name: type: string rentalType: type: string enum: - LCD - LLD onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' subProducts: type: array items: $ref: '#/components/schemas/SubProductCreateUpdateOrderDto' numberSelected: type: number price: type: number depositAmount: type: number priceLabelToDisplay: type: string vat: type: number surveyId: type: string initialUnitPrice: type: number priceRuleVariation: allOf: - $ref: '#/components/schemas/PriceRuleVariation' discount: $ref: '#/components/schemas/ItemDiscount' insurance: $ref: '#/components/schemas/ProductInsurance' isDeleted: type: boolean requestAnswers: type: object required: - id - productImage - name - rentalType - onlineStoreName - onlineStoreDescription - subProducts - numberSelected - price - depositAmount - priceLabelToDisplay - vat - initialUnitPrice - priceRuleVariation - discount RemoveDocumentOrderLldDto: type: object properties: orderLldId: type: string documentId: type: string required: - orderLldId - documentId PaginatedPaymentsWithOrderLldDto: type: object properties: totalCount: type: number payments: type: array items: $ref: '#/components/schemas/PaymentWithOrderLldDto' required: - totalCount - payments StripePaymentRefundType: type: string enum: - REFUND OnlineStorePaymentV2: type: object properties: id: type: string companyId: type: string customerId: type: string paymentType: type: string enum: - PAYMENT - SHORT_TERM_DEPOSIT - LONG_TERM_DEPOSIT - REFUND - SUBSCRIPTION - LOKKI_TRANSFER - LOKKI_TRANSFER_REFUND status: type: string enum: - CANCELED - WAITING - PROCESSING - REQUIRES_CAPTURE - SUCCEEDED - FAILED amount: type: number amountCaptured: type: number currency: type: string orderId: type: string orderType: type: string enum: - ORDER_LCD - ORDER_LLD - ORDER_EVENT provider: type: string enum: - OFFLINE - STRIPE - ANCV linkedSubscription: type: - string - 'null' createdAt: format: date-time type: string isTrialing: type: boolean paymentDate: format: date-time type: - string - 'null' required: - id - companyId - customerId - paymentType - status - amount - amountCaptured - currency - orderId - orderType - provider - linkedSubscription - createdAt - isTrialing AncvConnectPayment: type: object properties: type: $ref: '#/components/schemas/AncvPaymentProvider' fees: allOf: - $ref: '#/components/schemas/AncvConnectFees' origin: enum: - ONLINE_STORE - PAYMENT_LINK - LOKKI_TRANSFER - RENTAL_PLACE type: string details: $ref: '#/components/schemas/AncvConnectPaymentDetail' required: - type - fees - origin - details OnlineStoreOrderLLD: type: object properties: id: type: string startDate: format: date-time type: string endDate: format: date-time type: string durationMonth: type: number discount: type: number vat: type: number totalTTC: type: number totalHT: type: number items: type: array items: $ref: '#/components/schemas/OnlineStoreOrderItem' customer: $ref: '#/components/schemas/Customer' companyId: type: string documents: type: array items: $ref: '#/components/schemas/DocumentLLD' delivery: $ref: '#/components/schemas/Delivery' departurePoint: type: string arrivalPoint: type: string promoCode: allOf: - $ref: '#/components/schemas/PromoCode' updatedAt: format: date-time type: string createdAt: format: date-time type: string isRequest: type: boolean isCanceled: type: boolean payments: type: array items: $ref: '#/components/schemas/OnlineStorePaymentV2' required: - id - startDate - endDate - durationMonth - discount - vat - totalTTC - totalHT - items - customer - companyId - documents - delivery - departurePoint - arrivalPoint - promoCode - updatedAt - createdAt - isRequest - isCanceled - payments GenerateDocument: type: object properties: id: type: string method: type: string enum: - signature - pdf content: type: object required: - id - method - content Customer: type: object properties: id: type: string firstName: type: string lastName: type: string companyName: type: string phone: type: string email: type: string zipCode: type: string fields: type: array items: $ref: '#/components/schemas/CustomerField' companyId: type: string deliveryAddress: type: string deliveryZipCode: type: string deliveryCity: type: string isNewsletterSubscribe: type: boolean isLokkiNewsletterSubscribe: type: boolean customerImage: type: string type: enum: - entreprise - individual type: string skisetInfos: $ref: '#/components/schemas/CustomerSkisetInfos' tulipInfos: $ref: '#/components/schemas/TulipInfos' createdAt: format: date-time type: string remark: type: string customerRpId: type: string hidden: type: boolean createdFrom: enum: - DASHBOARD - ONLINE_STORE - RENTAL_PLACE_LOKKI type: string required: - id - firstName - lastName - companyName - phone - email - zipCode - fields - companyId - deliveryAddress - deliveryZipCode - deliveryCity - isNewsletterSubscribe - isLokkiNewsletterSubscribe - customerImage - type - createdAt - hidden - createdFrom StripePaymentPayment: type: object properties: type: $ref: '#/components/schemas/StripePaymentPaymentType' origin: $ref: '#/components/schemas/StripePaymentPaymentOrigin' paymentIntentId: type: - string - 'null' description: type: string required: - type - origin - paymentIntentId - description LocalizedContent: type: object additionalProperties: type: string StripePaymentPaymentType: type: string enum: - PAYMENT OrderMessageCancel: type: object properties: type: type: string default: CANCEL enum: - CANCEL message: type: string id: type: string date: format: date-time type: string solved: type: boolean required: - type - message - id - date - solved CompleteOrderLLD: type: object properties: messages: type: array items: oneOf: - $ref: '#/components/schemas/OrderMessageCancel' - $ref: '#/components/schemas/OrderMessageQuestion' - $ref: '#/components/schemas/OrderMessageAutoCancel' id: type: string startDate: format: date-time type: string endDate: format: date-time type: string startDateProductAvailable: format: date-time type: string endDateProductAvailable: format: date-time type: string durationMonth: type: number discount: type: number vat: type: number totalTTC: type: number totalHT: type: number remark: type: string attachedFiles: type: array items: $ref: '#/components/schemas/AttachedFile' labelCalendar: type: string products: type: array items: $ref: '#/components/schemas/OrderProduct' packs: type: array items: $ref: '#/components/schemas/OrderPack' services: type: array items: $ref: '#/components/schemas/OrderService' customItems: type: array items: $ref: '#/components/schemas/CustomItem' customer: $ref: '#/components/schemas/Customer' companyId: type: string colorCalendar: type: string status: type: array items: $ref: '#/components/schemas/Status' delivery: $ref: '#/components/schemas/Delivery' documents: type: array items: $ref: '#/components/schemas/DocumentLLD' departurePoint: type: string arrivalPoint: type: string additionalTimeBeforeOrder: type: number additionalTimeAfterOrder: type: number orderStatus: enum: - TO_COME - IN_PROGRESS - ENDED - CANCELED - PRE_BOOKING type: string documentsState: type: array items: $ref: '#/components/schemas/DocumentState' promoCode: allOf: - $ref: '#/components/schemas/PromoCode' sentMails: type: array items: $ref: '#/components/schemas/SentMailDataDto' createdFrom: enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT type: string referral: enum: - HEXPLO - MOLLOW - HOURRAIL - YOUBOOK - OISE_FUN - OUTDOOR_ACTIVE - GENERATION_VOYAGE - DECATHLON_OUTDOOR type: string g8Info: allOf: - $ref: '#/components/schemas/G8Info' shifterInfo: allOf: - $ref: '#/components/schemas/ShifterInfo' updatedAt: format: date-time type: string createdAt: format: date-time type: string tulipInformation: allOf: - $ref: '#/components/schemas/TulipInformation' warrantedProducts: type: array items: $ref: '#/components/schemas/WarrantedProducts' rpTracking: $ref: '#/components/schemas/RpTracking' isRequest: type: boolean requestToOrderDate: format: date-time type: - string - 'null' depositPrice: type: number isDepositManuallyEdited: type: boolean required: - messages - id - startDate - endDate - startDateProductAvailable - endDateProductAvailable - durationMonth - discount - vat - totalTTC - totalHT - remark - attachedFiles - labelCalendar - products - packs - services - customItems - customer - companyId - colorCalendar - status - delivery - documents - departurePoint - arrivalPoint - additionalTimeBeforeOrder - additionalTimeAfterOrder - orderStatus - documentsState - promoCode - sentMails - createdFrom - g8Info - shifterInfo - updatedAt - createdAt - tulipInformation - warrantedProducts - isRequest - requestToOrderDate - depositPrice PaginatedLldOrdersDto: type: object properties: lldOrders: type: array items: $ref: '#/components/schemas/CompleteOrderLLD' totalCount: type: number required: - lldOrders - totalCount StripePaymentShortTermDeposit: type: object properties: type: $ref: '#/components/schemas/StripePaymentShortTermDepositType' origin: $ref: '#/components/schemas/StripePaymentPaymentOrigin' paymentIntentId: type: - string - 'null' stripeCustomerId: type: string description: type: string reason: type: - string - 'null' required: - type - origin - paymentIntentId - stripeCustomerId - description - reason ProductInsurance: type: object properties: isActivated: type: boolean tulipProductId: type: string averagePurchasePrice: type: number margin: type: number sum: type: number contractType: type: string enum: - OPTION - INCLUSION - HIDDEN_INCLUSION required: - isActivated - tulipProductId - averagePurchasePrice - margin - sum Delivery: type: object properties: status: type: boolean departureAddress: allOf: - $ref: '#/components/schemas/DeliveryAddress' departurePrice: type: number departureReferencePrice: type: number departureDeliveredDate: format: date-time type: string arrivalAddress: allOf: - $ref: '#/components/schemas/DeliveryAddress' arrivalPrice: type: number arrivalReferencePrice: type: number arrivalDeliveredDate: format: date-time type: string price: type: number required: - status - departureAddress - departurePrice - departureReferencePrice - departureDeliveredDate - arrivalAddress - arrivalPrice - arrivalReferencePrice - arrivalDeliveredDate SentMailRecipients: type: object properties: main: type: string cc: type: array items: type: string required: - main - cc StripePaymentLongTermDeposit: type: object properties: type: $ref: '#/components/schemas/StripePaymentLongTermDepositType' origin: $ref: '#/components/schemas/StripePaymentPaymentOrigin' stripeCustomerId: type: string paymentIntentId: type: - string - 'null' reason: type: - string - 'null' required: - type - origin - stripeCustomerId - paymentIntentId - reason OrdersInfoForCustomerDto: type: object properties: totalTTC: type: number totalCount: type: number required: - totalTTC - totalCount PackCreateUpdateOrderDto: type: object properties: id: type: string depositAmount: type: number rentalType: type: string enum: - LCD - LLD name: type: string onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' numberSelected: type: number packId: type: string packImage: type: array items: type: string products: type: array items: $ref: '#/components/schemas/PackProductCreateUpdateOrderDto' price: type: number vat: type: number categories: type: array items: $ref: '#/components/schemas/PackCategoryCreateOrderDto' type: type: string enum: - PRODUCT - CATEGORY initialUnitPrice: type: number discount: $ref: '#/components/schemas/ItemDiscount' surveyId: type: string answers: type: object required: - id - depositAmount - rentalType - name - onlineStoreName - onlineStoreDescription - numberSelected - packId - packImage - products - price - vat - categories - type - initialUnitPrice - discount - answers StripePaymentSubscription: type: object properties: type: $ref: '#/components/schemas/StripePaymentSubscriptionType' subscriptionId: type: string customerId: type: string subscriptionItemId: type: string subscriptionItemPriceId: type: string invoiceId: type: string paymentIntentId: type: string status: enum: - incomplete - incomplete_expired - trialing - active - past_due - canceled - unpaid - paused type: string required: - type - subscriptionId - customerId - subscriptionItemId - subscriptionItemPriceId - invoiceId - paymentIntentId - status StripeExpressPaymentMethodDetail: type: object properties: cardType: type: string enum: - standard - premium type: type: string enum: - card - Google-Pay - Apple-Pay brand: type: string brandProduct: type: string countryCode: type: string used3DS: type: boolean feeValues: type: object required: - cardType - type - brand - brandProduct - countryCode - used3DS - feeValues DeliveryAddress: type: object properties: streetNumber: type: string streetName: type: string additional: type: string postalCode: type: string city: type: string country: type: string location: $ref: '#/components/schemas/PointSchema' fullAddress: type: string required: - streetNumber - streetName - additional - postalCode - city - country - location - fullAddress CreateRandomOrderLLDDto: type: object properties: startDate: type: object durationMonth: type: number promoCode: allOf: - $ref: '#/components/schemas/PromoCodeCreateOrderDto' createdFrom: type: string enum: - DASHBOARD - QUICK_ORDER - ONLINE_STORE - RENTAL_PLACE_B2B - RENTAL_PLACE_LOKKI - BORNE - SKISET - SKIMIUM - UNKNOWN - TEST - ADMIN_IMPORT isRequest: type: boolean required: - startDate - durationMonth - promoCode - createdFrom PackProduct: type: object properties: depositAmount: type: number rentalType: type: string enum: - LCD - LLD id: type: string name: type: string onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' subProducts: type: array items: $ref: '#/components/schemas/OrderSubProduct' uuid: type: string surveyId: type: string type: type: string enum: - product - service productImage: type: array items: type: string required: - depositAmount - rentalType - id - name - onlineStoreName - onlineStoreDescription - subProducts - uuid - type - productImage OrderProduct: type: object properties: depositAmount: type: number id: type: string rentalType: type: string enum: - LCD - LLD name: type: string onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' numberSelected: type: number productImage: type: array items: type: string price: type: number priceLabelToDisplay: type: string subProducts: type: array items: $ref: '#/components/schemas/OrderSubProduct' isDeleted: type: boolean vat: type: number priceRuleVariation: allOf: - $ref: '#/components/schemas/PriceRuleVariation' discount: $ref: '#/components/schemas/ItemDiscount' initialUnitPrice: type: number insurance: $ref: '#/components/schemas/ProductInsurance' surveyId: type: string requestAnswers: type: array items: type: object attachedFiles: type: array items: $ref: '#/components/schemas/AttachedFile' required: - depositAmount - id - rentalType - name - onlineStoreName - onlineStoreDescription - numberSelected - productImage - price - priceLabelToDisplay - subProducts - isDeleted - vat - priceRuleVariation - discount - initialUnitPrice - insurance CreateDocumentForSignatureOrderLldDto: type: object properties: orderLldId: type: string documentModelId: type: - string - 'null' documentComment: type: string isEmailSend: type: boolean lang: type: string enum: - fr - en - es - pt - it - pl - de - nl required: - orderLldId - documentModelId - documentComment - isEmailSend - lang PaymentV2: type: object properties: providerDetails: oneOf: - $ref: '#/components/schemas/OfflinePayment' - $ref: '#/components/schemas/StripePayment' - $ref: '#/components/schemas/AncvConnectPayment' id: type: string companyId: type: string customerId: type: string customerRef: $ref: '#/components/schemas/CustomerRef' orderRef: $ref: '#/components/schemas/OrderRef' paymentType: enum: - PAYMENT - SHORT_TERM_DEPOSIT - LONG_TERM_DEPOSIT - REFUND - SUBSCRIPTION - LOKKI_TRANSFER - LOKKI_TRANSFER_REFUND type: string status: enum: - CANCELED - WAITING - PROCESSING - REQUIRES_CAPTURE - SUCCEEDED - FAILED type: string amount: type: number amountCaptured: type: number currency: type: string orderId: type: string orderType: enum: - ORDER_LCD - ORDER_LLD - ORDER_EVENT type: string context: enum: - ONLINE_STORE - PAYMENT_LINK - RENTAL_PLACE - LOKKI_TRANSFER - OFFLINE type: string provider: enum: - OFFLINE - STRIPE - ANCV type: string squareRef: $ref: '#/components/schemas/PaymentSquareRef' createdAt: format: date-time type: string updatedAt: format: date-time type: string paymentDate: format: date-time type: - string - 'null' captureDate: format: date-time type: - string - 'null' cancelDate: format: date-time type: - string - 'null' expirationDate: format: date-time type: - string - 'null' receiptSent: type: boolean required: - providerDetails - id - companyId - customerId - customerRef - orderRef - paymentType - status - amount - amountCaptured - currency - orderId - orderType - context - provider - createdAt - updatedAt - paymentDate - captureDate - cancelDate - expirationDate SendMailDto: type: object properties: orderId: type: string to: type: string cc: type: array items: type: string template: $ref: '#/components/schemas/EmailTemplate' object: type: string content: type: string attachedDocumentId: type: string attachedDocumentStateId: type: string generateDocument: $ref: '#/components/schemas/GenerateDocument' generateDocumentState: $ref: '#/components/schemas/GenerateDocument' sendPaymentLinks: type: boolean generatePaymentLink: $ref: '#/components/schemas/GeneratePaymentLink' generateBailLink: $ref: '#/components/schemas/GeneratePaymentLink' generateSubscriptionLink: $ref: '#/components/schemas/GeneratePaymentLink' hideDate: type: boolean hideTime: type: boolean lang: enum: - fr - en - es - pt - it - pl - de - nl type: string required: - orderId - object - content - sendPaymentLinks - generatePaymentLink - generateBailLink - generateSubscriptionLink - hideDate - hideTime - lang StripePaymentLokkiTransferRefund: type: object properties: type: $ref: '#/components/schemas/StripePaymentLokkiTransferRefundType' details: oneOf: - $ref: '#/components/schemas/StripePaymentLokkiTransferPromoCode' allOf: - $ref: '#/components/schemas/StripePaymentLokkiTransferPromoCode' transferReversalId: type: string transferId: type: string refundedPaymentId: type: string required: - type - details - transferReversalId - transferId - refundedPaymentId EmailTemplateDocument: type: object properties: id: type: string method: type: string required: - id - method PriceRule: type: object properties: _id: type: string startDate: $ref: '#/components/schemas/PriceRuleDate' endDate: $ref: '#/components/schemas/PriceRuleDate' type: type: string enum: - in - include - overlap variation: type: number required: - startDate - endDate - type - variation OrderPack: type: object properties: depositAmount: type: number rentalType: type: string enum: - LCD - LLD id: type: string name: type: string onlineStoreName: $ref: '#/components/schemas/LocalizedContent' onlineStoreDescription: $ref: '#/components/schemas/LocalizedContent' numberSelected: type: number packId: type: string packImage: type: array items: type: string price: type: number products: type: array items: $ref: '#/components/schemas/PackProduct' categories: type: array items: $ref: '#/components/schemas/OrderPackCategory' vat: type: number discount: $ref: '#/components/schemas/ItemDiscount' initialUnitPrice: type: number type: type: string enum: - PRODUCT - CATEGORY surveyId: type: string answers: type: object priceRuleVariation: allOf: - $ref: '#/components/schemas/PriceRuleVariation' required: - depositAmount - rentalType - id - name - onlineStoreName - onlineStoreDescription - numberSelected - packId - packImage - price - products - categories - vat - discount - initialUnitPrice - type - priceRuleVariation CustomerRef: type: object properties: id: type: string firstName: type: string lastName: type: string email: type: string companyName: type: string phone: type: string createdFrom: type: string enum: - DASHBOARD - ONLINE_STORE - RENTAL_PLACE_LOKKI required: - id - firstName - lastName - email - companyName - phone - createdFrom CreateDocumentOrderLldDto: type: object properties: orderLldId: type: string documentModelId: type: - string - 'null' documentComment: type: string isSigned: type: boolean lang: type: string enum: - fr - en - es - pt - it - pl - de - nl required: - orderLldId - documentModelId - documentComment - lang StripePaymentPaymentOrigin: type: string enum: - PAYMENT_LINK - ONLINE_STORE PriceRuleDate: type: object properties: day: type: number time: type: string required: - day - time AncvPaymentProvider: type: string enum: - ANCV securitySchemes: x-access-token: scheme: bearer bearerFormat: JWT type: apiKey in: header name: x-access-token