# Store listing prep (Customer App)

## Bundle ids

Register these application identifiers in Google Play Console and App Store Connect:

- **Android:** `za.co.baskit.baskit_app`
- **iOS:** `za.co.baskit.baskitApp`

These are the ids configured in the Flutter project. They have not been verified against live store console accounts in this repo.

## Data use

**Mobile number** — Used for SMS one-time-password sign-in and account recovery. Baskit Ops stores the verified number linked to the customer session.

**Delivery address** — Typed street address for pilot delivery and the 7 km radius check around Constantia Village. Saved locally and on Baskit Ops when signed in. Baskit does not read GPS or continuous location.

**Speech and microphone** — Quick order voice lists use the device speech recognizer and microphone. Audio is processed by the platform speech service, not stored by Baskit.

**Camera and photos** — Quick order can scan a written list from the camera. Returns attach a photo of the item. Images are uploaded to Baskit Ops for return review only.

## Reviewer notes

- Sign-in is phone + SMS OTP via Baskit Ops.
- Dev builds accept OTP code `123456` while `BASKIT_BYPASS_OTP` defaults to true (see `lib/core/feature_flags.dart`).
- Checkout uses Paystack test mode in non-production builds.
- Delivery address must fall within 7 km of Constantia Village or signup and payment are blocked.

## Screenshots to capture

Capture manually from a device or emulator:

1. Home
2. Shop category browse
3. Basket
4. Checkout
5. Order detail

Do not commit screenshot binaries to git unless the team adds a dedicated assets folder later.

## Not done in this repo

- Store account ownership confirmation (Michael or another Baskit owner)
- Play Console or App Store Connect upload
- The uploadable binary today is the signed release APK from Bitbucket Pipelines (`bitbucket-pipelines.yml`)
- Google Play may later require an AAB; that is a follow-up, not covered here
