PageSourceSearch

https://app.renttix.com/_next/static/chunks/2152.ec51f2571897b04d.js

js renttix.com collected 2026-10-06 20:46:14 UTC 17,602 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2152],{2152:function(e,t,r){r.r(t),r.d(t,{default:function(){return g}});var i=r(57437),n=r(2265),a=r(75119),l=r(94437),s=r(34250),o=r(14392),d=r(12758),c=r(68575),u=r(3163),m=r(10231),h=r(1675),x=r(47886);function g(){var e,t,r,g,v,p,b;let{getTerm:f,getPlural:N}=(0,m.m)(),{state:y,setStep:j,updateFormData:D}=(0,u.a)(),{formData:k}=y,w=(0,c.v9)(e=>(null==e?void 0:e.auth)||(null==e?void 0:e.auth)||{}),C=null==w?void 0:w.user,T=null==C?void 0:C.currencyKey,M=(0,x.o6)(C),S=(0,n.useRef)(null),[R,A]=(0,n.useState)(!0),P=null==C?void 0:null===(e=C.preferences)||void 0===e?void 0:e.quickTips,[F,E]=(0,n.useState)(k.termsAccepted||!1),[W,q]=(0,n.useState)({sendEmail:!1!==k.sendConfirmationEmail,requireSignature:k.requireSignature||!1,addToRecurring:k.addToRecurring||!1}),I=Number(k.orderDiscount)||0,_=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],G=(e,t)=>{let[r=0,i=0]=String(t||"00:00").split(":").map(Number),n=new Date("".concat(e,"T00:00:00"));return n.setHours(r,i,0,0),n},L=e=>Math.floor(e/60)+(e%60>=30?1:0),U=(e,t,r)=>(null==e?void 0:e[t])||r||null,V=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=new Date(e),n=new Date(t);n.getTime()<=i.getTime()&&(n=new Date(n.getTime()+864e5));let a=new Set(r),l=0,s=new Date(i.getFullYear(),i.getMonth(),i.getDate());for(;s.getTime()<n.getTime();){let e=new Date(s),t=new Date(s.getTime()+864e5),r=new Date(Math.max(e.getTime(),i.getTime())),o=new Date(Math.min(t.getTime(),n.getTime()));if(o.getTime()>r.getTime()){let t=_[e.getDay()];(0===a.size||a.has(t))&&(l+=Math.floor((o.getTime()-r.getTime())/6e4))}s=t}return Math.max(0,l)},B=(0,n.useCallback)(e=>{let t=null==e?void 0:e.rateDefinition,r=(null==t?void 0:t.baseUnit)||(null==t?void 0:t.rateType)||(null==e?void 0:e.rate)||"daily",i=r;"weekly"===r&&(i="week"),"daily"===r&&(i="day"),"monthly"===r&&(i="month"),"hourly"===r&&(i="hour"),"nightly"===r&&(i="night"),"block"===r&&(i="block");let n=(null==t?void 0:t.chargeableDays)||["Mon","Tue","Wed","Thu","Fri"];return{baseUnit:i,isWeekly:"week"===i,isHourly:"hour"===i,isNightly:"night"===i,isBlock:"block"===i,chargeableDays:n,rentalDaysPerWeek:(null==t?void 0:t.rentalDaysPerWeek)||n.length,minimumRentalPeriod:(null==t?void 0:t.minimumRentalPeriod)||1,minimumRentalUnit:(null==t?void 0:t.minimumRentalUnit)||"day",blockConfig:null==t?void 0:t.blockConfig,partialWeeksHandling:(null==t?void 0:t.partialWeeksHandling)||"roundUpToFullWeek"}},[]),H=(0,n.useCallback)(e=>{let t=U(e,"lineChargingStartDate",k.chargingStartDate||k.deliveryDate),r=U(e,"lineExpectedReturnDate",k.expectedReturnDate),{baseUnit:i,chargeableDays:n,minimumRentalPeriod:a,minimumRentalUnit:l,rentalDaysPerWeek:s}=B(e);if(k.openEnded){let e=a||1;return"day"===l||"night"===l?e:"week"===l?e*(n.length||7):"month"===l?e*(n.length||7)*4:e}if(!t||!r)return Math.max(1,Number(a||1));let o=new Date(t),d=new Date(r),c=new Date(o.getFullYear(),o.getMonth(),o.getDate()),u=new Date(d.getFullYear(),d.getMonth(),d.getDate());if("hour"===i)return Math.max(Math.floor((u-c)/864e5)+1,Number(a||1));if("night"===i)return Math.max(Math.floor((u-c)/864e5),Number(a||1));let m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],h=0,x=(null==k?void 0:k.chargeReturnDay)!==!1?u:new Date(u.getTime()-864e5),g=7>(Number(s)||7)&&n&&n.length>0;for(let e=new Date(c);e<=x;e.setDate(e.getDate()+1)){let t=m[e.getDay()];(!g||n.includes(t))&&h++}let v=Number(a||1);if("day"===l||"night"===l);else if("week"===l)return Math.max(h,7*v,1);else if("month"===l)return Math.max(h,30*v,1);return Math.max(h,v,1)},[k.chargingStartDate,k.deliveryDate,k.expectedReturnDate,k.openEnded,k.chargeReturnDay,B]),O=(0,n.useCallback)(e=>{let t=U(e,"lineChargingStartDate",k.chargingStartDate||k.deliveryDate),r=U(e,"lineExpectedReturnDate",k.expectedReturnDate),{baseUnit:i,chargeableDays:n,minimumRentalPeriod:a,minimumRentalUnit:l,blockConfig:s,rentalDaysPerWeek:o,partialWeeksHandling:d}=B(e);if(k.openEnded){if("hour"===i){let e=Number(o||(null==n?void 0:n.length)||7),t=Number(a||1);return"hour"===l?t:"day"===l||"night"===l?24*t:"week"===l?t*e*24:"month"===l?t*e*96:Math.max(t,1)}if("night"===i||"block"===i)return Math.max(a||1,1);if("week"===i){let e=a||1,t=n.length||7;return"week"===l?e:Math.ceil(e/t)}return"month"===i?"month"===l?a||1:(a||1)/30:Math.max(a||1,1)}if(!t||!r)return 1;let c=new Date(t),u=new Date(r),m=new Date(c.getFullYear(),c.getMonth(),c.getDate()),h=new Date(u.getFullYear(),u.getMonth(),u.getDate()),x=
1H(e);if("hour"===i){let e=L(V(G(t,k.chargingStartTime),G(r,k.returnTime),n));return Math.max(e=Math.max(1,e),"hour"===l?Number(a||1):1)}if("night"===i)return Math.max(Math.floor((u-c)/864e5),Number(a||1));if("block"===i){let e=Number((null==s?void 0:s.length)||1),t=(null==s?void 0:s.unit)||"week",r=(null==s?void 0:s.roundingRule)||"next_unit",i=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],d=new Set(n||[]),c=0;for(let e=new Date(m);e<h;e.setDate(e.getDate()+1)){let t=i[e.getDay()];d.has(t)&&(c+=1)}let u=0,x=Number(a||0),g=Number(o||(null==n?void 0:n.length)||7);x>0&&("day"===l||"night"===l?u=x:"week"===l?u=x*g:"month"===l&&(u=x*g*4));let v=7*e;"day"===t&&(v=1*e),"month"===t&&(v=30*e);let p=g*e;"day"===t&&(p=1*e),"month"===t&&(p=4*g*e);let b=0;if("none"===r){let e=Math.max(c,u,1);b=p?e/p:0}else b=v?Math.max(0,Math.floor((h-m)/864e5))/v:0;let f=b;return"next_unit"===r?f=Math.ceil(b):"round_down"===r&&(f=Math.floor(b)),Math.max(f,1)}if("week"===i){let e=n.length||7;return"roundUpToFullWeek"===d?Math.max(Math.ceil(x/e),1):Math.max(x/e,1)}return"month"===i?Math.max(x/30,1):Math.max(x,Number(a||1),1)},[k.chargingStartDate,k.deliveryDate,k.expectedReturnDate,k.openEnded,B,H]),Y=(0,n.useCallback)(e=>{let t=Number(e.salePrice);if(!(!isNaN(t)&&t>0))return 0;let r=null!=e.overrideUnitPrice?e.overrideUnitPrice:t,i=Array.isArray(e.selectedAssets)?e.selectedAssets:[];return i.length>0?i.reduce((e,t)=>e+("number"==typeof t.overridePrice?t.overridePrice:r),0):(e.quantity||0)*r},[]),X=(0,n.useCallback)(e=>{var t,r,i,n,a;let{isWeekly:l,isHourly:s,isNightly:o,isBlock:d,partialWeeksHandling:c}=B(e),u=O(e),m=null!==(i=null!==(r=null!==(t=e.overrideUnitPrice)&&void 0!==t?t:e.rentPrice)&&void 0!==r?r:e.price)&&void 0!==i?i:0,h=Array.isArray(e.selectedAssets)?e.selectedAssets:[],x=h.length>0?h.map(e=>"number"==typeof e.overridePrice?e.overridePrice:m):Array.from({length:e.quantity||0},()=>m);if(s||o||d)return x.reduce((e,t)=>e+t*u,0);if(l&&"chargePerDay"===c){let t=H(e),r=(null==e?void 0:null===(n=e.rateDefinition)||void 0===n?void 0:n.rentalDaysPerWeek)||(null==e?void 0:e.rentalDaysPerWeek)||7,i=Math.floor(t/r),l=t%r,s=Number(null==e?void 0:null===(a=e.rateDefinition)||void 0===a?void 0:a.subsequentDayRate),o=Number.isFinite(s)&&s>0&&l>0;return x.reduce((e,t)=>e+t*i+(o?l*s:l/r*t),0)}return x.reduce((e,t)=>e+t*u,0)},[B,O,H]),z=(0,n.useCallback)(()=>(k.products||[]).reduce((e,t)=>{let r=Number(t.salePrice);return e+(!isNaN(r)&&r>0?Y(t):X(t))},0),[k.products,Y,X]),Q=(0,n.useCallback)(()=>(k.products||[]).reduce((e,t)=>{let r=Number(t.salePrice);if(!isNaN(r)&&r>0)return e;let i=X(t);return e+Number(t.taxRate||0)/100*i},0),[k.products,X]),Z=(0,n.useCallback)(e=>{if(!e||!1===e.chargeable)return 0;let t=Number(e.rate||0),r=e.billingBasis;return"per_hour"===r?t*(Number(e.plannedHours)||0):"per_day"===r||"per_week"===r?t*(Number(e.duration)||0):"per_unit_per_visit"===r?t*(Number(e.plannedQuantity)||1):t},[]),K=(0,n.useMemo)(()=>{var e;if(!(k.products||[]).length)return{subtotal:0,tax:0,discountAmount:0,damageWaiverAmount:0,damageWaiverTax:0,depositAmount:0,deliveryCharge:0,collectionCharge:0,total:0};let t=z(),r=Q(),i=t+r,n=i*(Number(I)||0)/100,a=t*(Number(I)||0)/100,l=Number((null===(e=k.damageWaiverCalculations)||void 0===e?void 0:e.totalAmount)||0),s=0;"percentage"===k.depositType?s=(t-a+l)*Number(k.depositPercentage||0)/100:"fixedAmount"===k.depositType&&(s=Number(k.depositFixedAmount||0));let o=Number(k.deliveryCharge||0),d=Number(k.collectionCharge||0),c=(k.serviceLines||[]).reduce((e,t)=>{let r=Number(t.plannedAmount);return e+(Number.isFinite(r)&&r>0?r:Z(t))},0),u=(k.serviceLines||[]).reduce((e,t)=>{let r=Number(t.plannedAmount),i=Number.isFinite(r)&&r>0?r:Z(t);return e+(Number(t.taxRate)||0)/100*i},0),m=i-n+l+s+o+d+c+u;return{subtotal:t,tax:r,discountAmount:n,damageWaiverAmount:l,damageWaiverTax:0,depositAmount:s,deliveryCharge:o,collectionCharge:d,serviceSubtotal:c,serviceTax:u,total:m}},[k.products,k.serviceLines,k.damageWaiverCalculations,k.depositType,k.depositPercentage,k.depositFixedAmount,k.deliveryCharge,k.collectionCharge,k.openEnded,I,z,Q,Z]),J=e=>{E(e),D({termsAccepted:e})},$=(e,t)=>{if("requireSignature"===e&&!M){(0,x.FF)(S);return}let r={...W,[e]:t};
1q(r),D({sendConfirmationEmail:r.sendEmail,requireSignature:r.requireSignature,addToRecurring:r.addToRecurring})},ee=e=>{let{step:t}=e;return(0,i.jsx)(a.z,{rounded:!0,text:!0,"aria-label":"Edit",icon:"pi pi-pencil",className:"p-button-plain p-button-sm",onClick:()=>j(t)})},et=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=["Sub total","VAT","Damage waiver","Security deposit","Discount","Total","Collection charge","Delivery charge"].includes(e),l=n.isValidElement(t);return(0,i.jsxs)("div",{className:"flex justify-content-between align-items-center py-2",children:[(0,i.jsx)("label",{className:"text-xs text-400 mr-3",children:(0,h.RZ)(e)}),(0,i.jsx)("span",{className:r?"text-sm font-medium text-red-500":"text-900",children:l?t:a?t:(0,h.RZ)(t)})]})};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(d.F,{ref:S,position:"top-right"}),(0,i.jsx)("div",{className:"p-3 surface-card border-round-xl",children:(0,i.jsxs)("div",{className:"p-3 border surface-card border-round-xl border-1 border-300",children:[(0,i.jsx)("div",{className:"text-900 text-xl font-semibold mb-3",children:"Review & confirm"}),(0,i.jsx)(o.i,{}),(0,i.jsxs)("div",{className:"grid",children:[(0,i.jsx)("div",{className:"col-12 md:col-6",children:(0,i.jsxs)("div",{className:"surface-100 border-1 border-400 border-round-xl",children:[(0,i.jsxs)("div",{className:"flex justify-content-between align-items-center p-3 border-bottom-1 surface-border",children:[(0,i.jsx)("div",{className:"text-900 font-semibold",children:"Products & services"}),(0,i.jsx)(ee,{step:2})]}),(0,i.jsxs)("div",{className:"p-3",children:[et("Sub total",(0,h.xG)(K.subtotal,T)),et("VAT",(0,h.xG)(K.tax,T)),K.damageWaiverAmount>0&&et("Damage waiver",(0,h.xG)(K.damageWaiverAmount,T)),K.depositAmount>0&&et("Security deposit",(0,h.xG)(K.depositAmount,T)),K.deliveryCharge>0&&et("Delivery charge",(0,h.xG)(K.deliveryCharge,T)),K.collectionCharge>0&&et("Collection charge",(0,h.xG)(K.collectionCharge,T)),(K.serviceSubtotal||0)>0&&et("Services (".concat((k.serviceLines||[]).length,")"),(0,h.xG)(K.serviceSubtotal+(K.serviceTax||0),T)),I>0&&et("Discount",(0,h.xG)(K.discountAmount,T),!1),(0,i.jsx)(o.i,{}),et("Total",(0,h.xG)(K.total,T))]})]})}),(0,i.jsx)("div",{className:"col-12 md:col-6",children:(0,i.jsxs)("div",{className:"surface-100 border-1 border-400 border-round-xl",children:[(0,i.jsxs)("div",{className:"flex justify-content-between align-items-center p-3 border-bottom-1 surface-border",children:[(0,i.jsx)("div",{className:"text-900 font-semibold",children:"Invoice & payment"}),(0,i.jsx)(ee,{step:1})]}),(0,i.jsxs)("div",{className:"p-3",children:[et("Order Type",k.openEnded?(0,i.jsx)(s.V,{value:"Open Ended",severity:"warning"}):(0,i.jsx)(s.V,{value:"Fixed Term",severity:"info"})),et("Payment terms",(null==k?void 0:k.paymentTerm)?(0,i.jsx)(s.V,{value:(null===(r=k.customerDetails)||void 0===r?void 0:null===(t=r.paymentTerm)||void 0===t?void 0:t.name)||"Set",severity:"success"}):"Not Set",!(null==k?void 0:k.paymentTerm)),et("Invoice run code",(null==k?void 0:k.invoiceRunCode)?(0,i.jsx)(s.V,{value:(null===(v=k.customerDetails)||void 0===v?void 0:null===(g=v.invoiceRunCode)||void 0===g?void 0:g.name)||"Set",severity:"success"}):"Not Set",!(null==k?void 0:k.invoiceRunCode)),k.billingPeriod&&et("Billing period",k.billingPeriod),k.purchaseOrderNumber&&et("PO number",k.purchaseOrderNumber),k.invoiceInBatch&&(0,i.jsxs)("div",{className:"mt-2 flex align-items-center gap-2",children:[(0,i.jsx)(s.V,{value:"Batch Invoicing",severity:"info",icon:"pi pi-check"}),(0,i.jsxs)("span",{className:"text-xs text-600",children:["This ",f("order").toLowerCase()," will be included in batch invoicing"]})]})]})]})}),(0,i.jsx)("div",{className:"col-12 md:col-6",children:(0,i.jsxs)("div",{className:"surface-100 border-1 border-400 border-round-xl",children:[(0,i.jsxs)("div",{className:"flex justify-content-between align-items-center px-3 surface-border",children:[(0,i.jsx)("div",{className:"text-900 font-semibold",children:"Delivery details"}),(0,i.jsx)(ee,{step:3})]}),(0,i.jsx)(o.i,{}),(0,i.jsxs)("div",{className:"px-3 pb-3",children:[et(f("customer"),(null===(p=k.customerDetails)||void 0===p?void 0:p.name)||"—"),et("Address",[k.deliveryAddress1,k.deliveryCity,k.deliveryPostcode].filter(
1Boolean).join(", ")||"—"),et("Contact",k.deliveryContactName||k.deliveryContactPhone||"Not specified"),k.deliveryInstructions&&et("Instructions",k.deliveryInstructions)]})]})}),(0,i.jsx)("div",{className:"col-12 md:col-6",children:(0,i.jsxs)("div",{className:"surface-100 border-1 border-400 border-round-xl",children:[(0,i.jsx)("div",{className:"p-3 surface-border text-900 font-semibold",children:"Quick actions"}),(0,i.jsx)(o.i,{}),(0,i.jsxs)("div",{className:"p-3",children:[(0,i.jsxs)("div",{className:"flex align-items-center gap-3 mb-3",children:[(0,i.jsx)(l.X,{inputId:"qa1",checked:W.sendEmail,onChange:e=>$("sendEmail",!!e.checked)}),(0,i.jsxs)("label",{htmlFor:"qa1",className:"text-900 cursor-pointer",children:["Send confirmation email to ",f("customer").toLowerCase()]})]}),(0,i.jsxs)("div",{className:"flex align-items-center gap-3 mb-3",children:[(0,i.jsx)(l.X,{inputId:"qa2",checked:W.requireSignature,disabled:!M,onChange:e=>$("requireSignature",!!e.checked)}),(0,i.jsx)("label",{htmlFor:"qa2",className:"text-900 cursor-pointer",children:"Require signature on delivery"})]}),(0,i.jsxs)("div",{className:"flex align-items-center gap-3",children:[(0,i.jsx)(l.X,{inputId:"qa3",checked:W.addToRecurring,onChange:e=>$("addToRecurring",!!e.checked)}),(0,i.jsx)("label",{htmlFor:"qa3",className:"text-900 cursor-pointer",children:"Add to recurring orders"})]})]})]})})]}),(0,i.jsxs)("div",{className:"surface-100 my-3 border-1 border-400 border-round-xl",children:[(0,i.jsx)("div",{className:"p-3 surface-border text-900 font-semibold",children:"Terms & conditions"}),(0,i.jsx)(o.i,{}),(0,i.jsxs)("div",{className:"p-3",children:[(0,i.jsxs)("div",{className:F?"flex align-items-start gap-3":"flex align-items-start gap-3 border-1 border-red-200 p-2 border-round-md",children:[(0,i.jsx)(l.X,{inputId:"terms",checked:F,onChange:e=>J(!!e.checked)}),(0,i.jsxs)("label",{htmlFor:"terms",className:"cursor-pointer line-height-3",children:["I agree to the ",(0,i.jsx)("span",{className:"text-primary",children:"terms and conditions"}),". By creating this ",f("order").toLowerCase(),", I confirm that all information is correct and I accept the rental terms and conditions."]})]}),!F&&(0,i.jsx)("p",{className:"text-xs text-red-500 mt-2",children:"Please accept the terms and conditions to continue."}),(!k.paymentTerm||!k.invoiceRunCode)&&(0,i.jsx)("p",{className:"text-xs text-red-500 mt-1",children:"Missing invoice settings. Go to Step 1 and set Payment Terms & Invoice Run Code."})]})]}),P&&(0,i.jsx)(i.Fragment,{children:R&&(0,i.jsxs)("div",{style:{border:"1px solid var(--primary-color)",background:"color-mix(in srgb, var(--primary-color), transparent 85%)"},className:"p-3 border-round-lg mb-4 mt-1 ",children:[(0,i.jsxs)("div",{className:"flex align-items-center justify-content-between",children:[(0,i.jsx)("div",{className:"flex align-items-center",children:(0,i.jsxs)("span",{className:"text-xs text-primary",children:["After creating this ",f("order").toLowerCase()]})}),(0,i.jsx)("button",{type:"button",onClick:()=>A(!1),className:"p-1 border-none cursor-pointer",style:{background:"transparent",color:"#4B85FA",borderRadius:12},"aria-label":"Close tips",children:"\xd7"})]}),(0,i.jsxs)("div",{className:"grid mt-2 text-xs font-medium",children:[(0,i.jsxs)("div",{className:"col-12 md:col-3 flex gap-2",children:[(0,i.jsx)("i",{className:"pi pi-check text-green-600"}),(0,i.jsxs)("span",{children:["View ",f("order").toLowerCase()," details and track status."]})]}),(0,i.jsxs)("div",{className:"col-12 md:col-3 flex gap-2",children:[(0,i.jsx)("i",{className:"pi pi-check text-green-600"}),(0,i.jsx)("span",{children:"Print delivery note for driver."})]}),(0,i.jsxs)("div",{className:"col-12 md:col-3 flex gap-2",children:[(0,i.jsx)("i",{className:"pi pi-check text-green-600"}),(0,i.jsx)("span",{children:"Create similar order with one click."})]}),W.sendEmail&&(0,i.jsxs)("div",{className:"col-12 md:col-3 flex gap-2",children:[(0,i.jsx)("i",{className:"pi pi-check text-green-600"}),(0,i.jsxs)("span",{children:["Confirmation email will be sent to"," ",(0,i.jsx)("b",{children:(null==k?void 0:null===(b=k.customerDetails)||void 0===b?void 0:b.email)||f("customer").toLowerCase()}),"."]})]})]})]})})]})})]})}},47886:function(e,t,r){function i(e){var t;return!!(null==e?void 0:null===(t=e.esignSettings)||void 0===t?void 0:t.esignEnabled)}function n(e){var t;null==e||null===(t=e.current)||void 0===t||t.show({severity:"error",summary:"Error",detail:"E-signature is not enabled for this Tenant",life:3e3})}r.d(t,{FF:function(){return n},o6:function(){return i}})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.