Skip to content

docs: revise and simplify agency onboarding instructions - #3547

Merged
jgravois merged 11 commits into
mainfrom
docs/3539
Mar 9, 2026
Merged

docs: revise and simplify agency onboarding instructions#3547
jgravois merged 11 commits into
mainfrom
docs/3539

Conversation

@jgravois

@jgravois jgravois commented Mar 3, 2026

Copy link
Copy Markdown
Member

closes #3539

i don't have a better recommendation for testing this than opening the new pages and the old guide side-by-side.

https://docs.calitp.org/benefits/guides/onboard-transit-provider/

i think the reorganization is an improvement, but it certainly makes it such that you can't pick up on the line item changes in the existing steps in the diff.

@github-actions github-actions Bot added the documentation [auto] Improvements or additions to documentation label Mar 3, 2026
@github-actions

github-actions Bot commented Mar 3, 2026

Copy link
Copy Markdown
Contributor

Coverage report

This PR does not seem to contain any modification to coverable code.

@github-actions

github-actions Bot commented Mar 3, 2026

Copy link
Copy Markdown
Contributor

@jgravois
jgravois force-pushed the docs/3539 branch 8 times, most recently from a2e8bcd to 27eb88c Compare March 5, 2026 22:07

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i was surprised that an injected partial like this stops converting /secrets.md to /secrets automatically.

- Choose the new `TransitAgency`.
- Retrieve Audience and Client ID values for the **production** config from shared LastPass note.
- Client Secret Name: `${agency_slug}-payment-processor-client-secret`
--8<-- "./inc/create-secret.md"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i was also surprised to find that i couldn't just place the partial in the previous /guides/inc directory and reference it like this 👇

--8<-- "../inc/create-secret.md"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As in, the partial/include is always relative to the top-level of the docs dir, regardless of where it is being used?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i've been thinking of it in terms of the --8<-- specifically possibly not being able to back out (or escape) the parent directory of the file currently being read.

it seemed harmless enough to scope the /inc where it ended up since no other guides reference it and i was clueless regarding how to debug the error, so i readily admit that i gave up trying to solve the riddle quite quickly.

@jgravois
jgravois marked this pull request as ready for review March 5, 2026 22:38
@jgravois
jgravois requested a review from a team as a code owner March 5, 2026 22:38

@jgravois jgravois Mar 5, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the hardest part of implementing this was figuring out how to dig up the v2 doc for this renamed plugin. 😂

https://github.com/lukasgeiter/mkdocs-awesome-nav/tree/v2

Comment thread docs/guides/transit-provider-onboarding/configure-production-validation.md Outdated
Comment thread docs/guides/transit-provider-onboarding/configure-production-validation.md Outdated
Comment thread docs/guides/transit-provider-onboarding/configure-production.md Outdated
Comment thread docs/guides/transit-provider-onboarding/add-transit-provider.md Outdated
Comment thread docs/guides/transit-provider-onboarding/configure-production-validation.md Outdated
Comment thread docs/guides/transit-provider-onboarding/configure-production-validation.md Outdated
@jgravois

jgravois commented Mar 6, 2026

Copy link
Copy Markdown
Member Author

i believe i addressed all @thekaveman's good feedback in 1727533 / 5f80d7e

@jgravois
jgravois requested a review from a team March 6, 2026 19:07

@lalver1 lalver1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's looking real nice @jgravois! I like how the guide flows, the tabbed sections work well and splitting out the add, prod validation, prod, and post-launch sections to individual pages was a great idea! I only have a few minor comments/typo sort of things below.

- Transit provider uses their Littlepay merchant ID to create a customer group in the Littlepay QA environment for each type of eligibility (e.g. older adult).
- _Typically performed by transit provider's Account Manager_
- For each group that was created, a group ID will be returned and should be set as the `group_id` on a new `LittlepayGroup`.
- The new `LittlepayGroup` is then associated with an enrollment flow and transit provider using the dropdowns. (See [Configuration data](../tutorials/load-sample-data.md) for more on loading the database.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 looks like something is broken in the Configuration data link.


Next steps:

- [Configure for production validation](./b-configure-production-validation.md)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly, looks like something is broken in the Configure for production validation link.

Next steps:

- [Configure for production validation](./b-configure-production-validation.md)
- [Configure for production](./c-configure-production.md)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly, looks like something is broken in the Configure for production link.

- _Typically performed by transit provider's Account Manager_
- Once this is complete, verify that the setup is correct by using the [littlepay CLI](https://github.com/cal-itp/littlepay). Example:
1. Transit provider staff creates the discount product and associated customer groups in production Littlepay.
1. Transit provider provides group names and ids to Cal-ITPstaff takes a screenshot of the discount product in the Merchant Portal, making sure the browser URL is visible, and sends that to Cal-ITP.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, looks like something weird happened to this paragraph. I think we can remove the reference to taking a screenshot (I believe Kegan also mentioned this) and we could add something along the lines of "names and IDs of the groups that are relevant to the Benefits application". Because I feel like sometimes there's been a misunderstanding about which discounts Benefits actually supports. This way we don't get groups for youth or student discounts, for example.

- This will be set back to QA after final production configuration is complete.
- Set Environment to **Production** for production validation.
- This will be set back to **Testing** after final production configuration is complete.
- Choose the new `TransitAgency`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would we need to update this from "Choose" to something like "Enter the slug of the new TransitAgency"? I think this is how the admin UI looks like at the moment.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch. there is definitely a dropdown, but this relationship is actually set from TransitAgency now. 🙃

i went with:

return to the TransitAgency and associate the new LittlepayConfig as its 'Transit processor config'.

1. Cal-ITP associates the group with the discount product [created previously during production validation](#configuration-for-production-validation).
- Once this is complete, verify that the setup is correct by using the [littlepay CLI](https://github.com/cal-itp/littlepay).
1. Transit agency creates a customer group **for production use** in production Littlepay.
1. Transit agency associates the group with the discount product [created previously during production validation](#configuration-for-production-validation).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something about this link seems like it's not taking me to the right place 🤔.

1. Transit agency creates a customer group **for production use** in production Littlepay.
1. Transit agency associates the group with the discount product [created previously during production validation](#configuration-for-production-validation).
- Once this is complete, Cal-ITP verifies that the setup is correct by using the [littlepay CLI](https://github.com/cal-itp/littlepay).
1. Cal-ITP creates a new `LittlepayGroup` in the Benefits prod environment:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we missing the "Cal-ITP creates a new TransitAgency in the Admin" step just before this one?


=== "Switchio"

1. Cal-ITP creates a new `SwitchioConfig` in the Benefits production environment:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we missing a "Cal-ITP creates a new TransitAgency in the Admin" step just before this one?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small typo, we have test instead of production

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This link wasn't working for me 🤔

@jgravois

jgravois commented Mar 6, 2026

Copy link
Copy Markdown
Member Author

great notes @lalver1! i incorporated your suggestions in ef3fb32.

@jgravois
jgravois requested a review from a team March 7, 2026 00:03

@lalver1 lalver1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great notes @lalver1! i incorporated your suggestions in ef3fb32.

Thanks for making these changes @jgravois! It looks great! Just one tiny thing I noticed below.

1. Cal-ITP creates a new `LittlepayConfig` in the Benefits test environment:
- Set Environment to **Production** for production validation.
- This will be set back to **Testing** after final production configuration is complete.
- return to the `TransitAgency` and associate the new `LittlepayConfig` as its 'Transit processor config'.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, very minor comment, maybe we can capitalize "Return" here to keep the same formatting as the other bullet points.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need to apologize 20bb81c 🤙

@jgravois
jgravois requested a review from a team March 9, 2026 17:13
@jgravois
jgravois dismissed thekaveman’s stale review March 9, 2026 17:14

this feedback has been addressed.

lalver1
lalver1 previously approved these changes Mar 9, 2026

@lalver1 lalver1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job @jgravois! Looks good to me! 👍

@jgravois

jgravois commented Mar 9, 2026

Copy link
Copy Markdown
Member Author

thank you @lalver1 et. al. 🌈

i'll go ahead and merge but if anyone else has any constructive criticism related to these updated guides, i'm genuinely interested in hearing it.

@thekaveman thekaveman left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking really good. I like the separated pages, tabbed sections, etc.

Just a few more content comments and questions.

Comment thread docs/guides/transit-provider-onboarding/add-transit-provider.md Outdated
Comment thread docs/guides/transit-provider-onboarding/add-transit-provider.md Outdated
Comment thread docs/guides/transit-provider-onboarding/add-transit-provider.md
Comment thread docs/guides/transit-provider-onboarding/configure-production-validation.md Outdated
@jgravois
jgravois dismissed thekaveman’s stale review March 9, 2026 20:40

this feedback has been addressed.

@jgravois
jgravois requested a review from a team March 9, 2026 20:40
Comment thread docs/guides/transit-provider-onboarding/add-transit-provider.md

@thekaveman thekaveman left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice 😎

@jgravois
jgravois merged commit 1077079 into main Mar 9, 2026
13 checks passed
@jgravois
jgravois deleted the docs/3539 branch March 9, 2026 21:42
@Scotchester

Copy link
Copy Markdown
Member

I didn't do a thorough review since Luis and Kegan had it covered, but this looks great at a glance. Awesome work, John!

@jgravois

jgravois commented Mar 9, 2026

Copy link
Copy Markdown
Member Author

i guarantee there's still room for improvement. we can keep iterating as we onboard new agencies (and further simplify the steps!) 😈

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation [auto] Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update agency onboarding docs

4 participants