BowlerKitBowlerKit
Features

Help Center

10/11/2026

Account help-center queries, FAQs, contacts, operating hours, and feedback.

Scope

The Help Center has static help/about screens for both profiles and remote Account queries for dynamic content. Guest mode keeps the static screens but disables every remote help-center query and feedback mutation.

Account API contract

queries/use-help-center.ts maps the following endpoints:

  • GET /api/v1/app/help-center
  • GET /api/v1/app/help-center/faqs with page, per_page, search, and category parameters.
  • GET /api/v1/app/help-center/faqs/popular
  • GET /api/v1/app/help-center/faqs/{id}
  • GET /api/v1/app/help-center/contacts
  • GET /api/v1/app/help-center/operating-hours
  • GET /api/v1/app/help-center/feedback
  • POST /api/v1/app/help-center/feedback

The FAQ hook supports infinite pagination and category/search filters. Feedback submission requires help-center:create and is limited to 3 requests per minute and 15 per hour per client; success invalidates the local feedback-history query.

Screens

The Expo routes include:

  • app/settings/help.tsx — help dashboard.
  • app/help/faqs.tsx — searchable/paginated FAQ list.
  • app/help/contact.tsx — contact methods and operating hours.
  • app/help/feedback.tsx — Account feedback form/history.
  • app/settings/help.tsx and app/settings/about.tsx — settings/static content.

Use the same API response envelope as the Laravel backend (success, message, and data). Do not call the Go service with an unimplemented route; the shared API parity contract is the source of truth.

Extending FAQs

  1. Add a typed model in types/help-center.ts.
  2. Add an endpoint constant in services/endpoints.ts.
  3. Put query/mutation behavior in queries/ or mutations/.
  4. Disable the query in Guest mode with enabled: !IS_GUEST_LOCAL and provide a useful static fallback.
  5. Invalidate the relevant React Query key after a write.