Unified access to all Kota Technology internal tools
warranty_start, warranty_end, and warranty_status fields in PocketBase automaticallyhttps://apigtwb2c.us.dell.com/PROD/sbil/eapi/v5/asset-entitlementshttps://supportapi.lenovo.com/v2.5/warranty| Name | Class | Chassis | Mfr | Part # | TD Synnex PN | D&H PN | RAM | Storage | Our Cost | Client Price | Labor Hrs | Installed Price | Actions | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||||||||
134.199.248.22https://pb.kota.techv0.22.4/etc/nginx/sites-available/kota-apps5468e422-6843-4632-821f-9bd1ef25f9931488593a-d22d-478f-bfc7-210375728765| APP | URL | SERVER PATH | DOWNLOAD COMMAND |
|---|---|---|---|
| Hub | apps.kota.tech | /var/www/hub/index.html | scp [email protected]:/var/www/hub/index.html .\hub.html |
| Asset Planner | assetplanner.kota.tech | /var/www/assetplanner/index.html | scp [email protected]:/var/www/assetplanner/index.html .\assetplanner-v2.html |
| Field Tasks | fieldtasks.kota.tech | /var/www/fieldtasks/index.html | scp [email protected]:/var/www/fieldtasks/index.html .\fieldtasks.html |
| Projects | projects.kota.tech | /var/www/projects/index.html | scp [email protected]:/var/www/projects/index.html .\projects.html |
| Orders | orders.kota.tech | /var/www/orders/index.html | scp [email protected]:/var/www/orders/index.html .\orders.html |
| Equipment | equipment.kota.tech | /var/www/equipment/index.html | scp [email protected]:/var/www/equipment/index.html .\equipment.html |
scp .\[file].html [email protected]:/var/www/[app]/index.htmlssh [email protected] "nginx -t && systemctl reload nginx"ssh [email protected] "certbot --nginx -d [app].kota.tech"
usersMicrosoft OAuth users — auto-managed by PocketBase authcustomersActive customers — status, address, lat/lng, region, contactsdevicesDevice registry — imported via ops.kota.tech (DattoRMM CSV + COW warranty enrichment)tasksField Tasks — recurring support, requires_downtime, is_archivedfield_notesField Notes — time entries, materials, linked to tasksasset_plansAP plans — slim payload {devices, planData} including device overridesprojectsProject Builder — tasks, milestones, bundles, time trackingordersOrder Tracker — order_type, quantity, reason, priority, parent/child splitsequipmentEquipment Tracker — pool, status, asset_tag, check in/out, is_archivedequipment_logEquipment activity log — every check in/out, add, edit, archive, restorefeedbackTeam feedback — type, app, priority, status, is_archived, submitted_byfeedback_logFeedback status changes — who changed it, when, commentapp_settingsKey/value config — keys: plan_defaults, equipment_settingsmaintenance_vehiclesWork vehicles — year, make, model, plate, VIN, assigned_to, current_mileagemaintenance_serviceVehicle service log — vehicle_id, service_type, date, mileage_at_service, cost, next_duemaintenance_vendorsBuilding/service vendors — name, category, phone, email, renewal_dateops_invoicesInvoice headers — vendor, invoice_number, invoice_date, total_amount, subtotal, tax_amountops_invoice_linesInvoice line items — invoice_id, product, category, qty, unit_rate, monthly_fee, renewal_datecustomer_licensesPer-customer licenses — customer_name, product, source, qty, unit_cost, renewal_date, status, invoice_datepb-setup-v3Added stale_dismissed (bool) to projectspb-setup-v4Added bios_version (text) to devices for VM detectionpb-setup-v5Creates equipment + equipment_log collections, sets API rules, adds asset_tagpb-setup-v6Creates feedback + feedback_log collections with API rulespb-setup-v7Adds region_manual (bool) to customers collectionpb-setup-v8Creates maintenance_vehicles, maintenance_service, maintenance_vendors with API rulespb-setup-v9Creates ops_invoices, ops_invoice_lines, ops_subscriptions, customer_licenses (+ subtotal, tax_amount, invoice_date fields). Safe to re-runhub_token + hub_user as URL params to each app for SSO.https://[newapp].kota.techfetch() calls. The jsDelivr CDN for the PB SDK is blocked by Firefox Enhanced Tracking Prevention.
Ctrl+Shift+R — or open in an incognito window. Browser caches aggressively.@request.auth.id != ""app_settings.value as a pre-parsed object, not a string. Code must handle: typeof val === 'string' ? JSON.parse(val) : valval===true||val===1||val==='true'||val==='1' — never use !!valstopPropagation() on a container div — it blocks all children. Use capture-phase listener on the grid: addEventListener('click', fn, true) or move stopPropagation to each individual button.element.classList.remove('open'). A closeModal(id) helper exists for convenience. Do NOT use the Projects-style closeModal() function — it doesn't exist in hub.mapEl.offsetWidth !== 0 before any canvas operations. Call customerMap.invalidateSize() when the dashboard tab becomes visible again.mkdir -p /var/www/[app] · 3. Add server block to nginx kota-apps config · 4. nginx -t && systemctl reload nginx · 5. Add DNS A record → 134.199.248.22 · 6. certbot --nginx -d [app].kota.tech · 7. Add Azure AD redirect URI · 8. Add card to hub.html apps grid · 9. Add waffle nav (⊞) linking back to apps.kota.techphoto_url field exists in PocketBase schema. Upload UI not built yet.csv-p886736-YYYY-1-XXXXXXX-YYYY-MM-DD.csvCSWI*.csv<!-- KOTA_CONTEXT --> JSON block. Upload hub.html to Claude at the start of each session to restore full project context automatically.node --check on all JS before delivering files — catches syntax errors before deploy.