+ ON-SPOT · NO KIT
+
+ )}
{/* College & Enrollment */}
diff --git a/src/components/innovision/ApprovedPassTicket.tsx b/src/components/innovision/ApprovedPassTicket.tsx
index 396ce17..05df193 100644
--- a/src/components/innovision/ApprovedPassTicket.tsx
+++ b/src/components/innovision/ApprovedPassTicket.tsx
@@ -5,7 +5,7 @@ import { createPortal } from 'react-dom';
import { QRCodeSVG } from 'qrcode.react';
import EventTicket from '@/components/ui/event-ticket';
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from '@/components/ui/dialog';
-import type { ParticipantPass } from '@/lib/pass-experience';
+import { passAccommodationLabel, type ParticipantPass } from '@/lib/pass-experience';
import { EVENT_DATE, VENUE_CITY } from '@/config/site';
import PassKeepsake from './PassKeepsake';
import styles from './ApprovedPassTicket.module.css';
@@ -86,7 +86,7 @@ export default function ApprovedPassTicket({ pass, animate = false }: { pass: Pa
{pass.qrUnavailable || 'Keep your pass handy. Your registration ID is always available here.'}
{saveError &&
Pay the fee
{/* The server's answer, not the box: seen before any way to pay, since a payment can't be refunded. */}
+ {offer?.onSpot ? (
+
+ ON-SPOT REGISTRATION · ₹{offer.amount}
+ No accommodation and no registration kit are included.
+
+ ) : null}
{offer ? (
ACCOMMODATION: {offer.accommodation ? "INCLUDED" : "NOT INCLUDED"}
diff --git a/src/components/innovision/EntryPassCard.tsx b/src/components/innovision/EntryPassCard.tsx
index 86731d8..7b099e3 100644
--- a/src/components/innovision/EntryPassCard.tsx
+++ b/src/components/innovision/EntryPassCard.tsx
@@ -1,7 +1,7 @@
'use client';
import { useEffect, useState } from 'react';
-import { isApprovedPass, passStatusMessage, type ParticipantPass } from '@/lib/pass-experience';
+import { isApprovedPass, passAccommodationLabel, passStatusMessage, type ParticipantPass } from '@/lib/pass-experience';
import { passRequest } from './pass-client';
import PassIssued from './PassIssued';
import IdCardUpload from './IdCardUpload';
@@ -204,7 +204,7 @@ function PassState({
) : null}
{isPending ? (
-
Accommodation: {pass.accommodation === false ? 'not included' : 'included'}
+
Accommodation: {passAccommodationLabel(pass).toLowerCase()}
) : null}
{reason ? (
diff --git a/src/components/innovision/Innovision.tsx b/src/components/innovision/Innovision.tsx
index ecbe0d4..72c25fa 100644
--- a/src/components/innovision/Innovision.tsx
+++ b/src/components/innovision/Innovision.tsx
@@ -2676,7 +2676,7 @@ export class Innovision extends Component
{
// offline, server error) means no payment details.
const preview = REGISTRATION_PREVIEW_ENABLED && user.id === 'dev-preview-user';
const started = preview
- ? Promise.resolve({ offer: { state: 'pay' as const, amount: PREVIEW_REGISTRATION_FEE, currentFee: PREVIEW_REGISTRATION_FEE, accommodation: !no_accommodation } })
+ ? Promise.resolve({ offer: { state: 'pay' as const, amount: PREVIEW_REGISTRATION_FEE, currentFee: PREVIEW_REGISTRATION_FEE, accommodation: !no_accommodation, onSpot: false } })
: startPayment(gender, no_accommodation);
this.setState({ busyLbl: referred_by_code ? 'CHECKING CODE' : 'CHECKING' });
Promise.all([started, referred_by_code ? checkReferralCode(referred_by_code) : null]).then(([pay, res]) => {
diff --git a/src/components/innovision/PassTicket.tsx b/src/components/innovision/PassTicket.tsx
index 5383ea2..5634999 100644
--- a/src/components/innovision/PassTicket.tsx
+++ b/src/components/innovision/PassTicket.tsx
@@ -1,6 +1,6 @@
'use client';
-import { isApprovedPass, type ParticipantPass } from '@/lib/pass-experience';
+import { isApprovedPass, passAccommodationLabel, type ParticipantPass } from '@/lib/pass-experience';
import ApprovedPassTicket from './ApprovedPassTicket';
import styles from './PassIssued.module.css';
import { EVENT_DATE } from '@/config/site';
@@ -51,7 +51,7 @@ export default function PassTicket({ pass, animate = false }: {