# How to make catalogue of freelancers with custom prices for their services?

**URL:** https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491
**Category:** Ask for Help
**Created:** [June 25, 2022, 7:30am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491 "2022-06-25T07:30:40Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 25, 2022, 7:30am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/1 "2022-06-25T07:30:40Z")

</div>

Hi, everyone.

I’m trying to make catalogue of freelancers. They can choose what they do and then set prices for their services.

For example:

- Vocal Tuning - Average price -$40 per track
- Time alignment - Average price - $40 per track
- Mixing Engineer - Average price - $200 per song

My table contains 2 lists: Freelancers and Choices.

List “Choices” contain specialties (services). A freelancer choose his specialty and then should be able to set price for it. I think what is the best way to do this functionality? May be I should make choice column with average price like: $5, $10, $20 etc. Then set this price for chosen service. Freelancers can have many services.

For now I don’t really understand how to store and make relations between freelancers, services, prices. May be someone already did something like this?

Thank, you for help.

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 25, 2022, 8:04am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/2 "2022-06-25T08:04:15Z")

</div>

A simple way to approach this would be to create a separate Freelancer Services table. At a bare minimum, this table would contain 3 columns: Freelancer ID, Service ID and price.

Each time a Freelancer adds a service, you would create a new row in that table. Then to get a list of all services provided by a Freelancer, you create a multiple relation column in your Freelancers table that matches the Freelancer ID to the same column in the Freelancer Services table. This column could then be used as the source of an Inline List component and included in the Freelancer details view.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 25, 2022, 10:45am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/3 "2022-06-25T10:45:48Z")

</div>

Thanks. That’s good. But can we do it on Freelancers list like shown below?

Cell 1 - Vocal Tuning,Time alignment,Mixing Engineer  
Cell 2 - $40,$40,$200

Then use some kind of component to display this on Freelancers page like in example in my first post.

And second question is how to make form with multiple choice of Services and Prices on Submit/Edit page? What components or combination of them should I use?

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 25, 2022, 11:39am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/4 "2022-06-25T11:39:51Z")

</div>

> [@Garik](#):
>
> Thanks. That’s good. But can we do it on Freelancers list like shown below?
> 
> Cell 1 - Vocal Tuning,Time alignment,Mixing Engineer  
> Cell 2 - $40,$40,$200

That’s possible, but will be a bit tricky to manage. Is there a particular reason why you want to structure it that way?

> [@Garik](#):
>
> And second question is how to make form with multiple choice of Services and Prices on Submit/Edit page? What components or combination of them should I use?

You should use [Choice Components](https://docs.glideapps.com/all/topics/components/pickers/choice) for these.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 25, 2022, 12:16pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/5 "2022-06-25T12:16:04Z")

</div>

> [@Darren\_Murphy](#):
>
> That’s possible, but will be a bit tricky to manage. Is there a particular reason why you want to structure it that way?

Yes, I understood it’s not good idea, 'cause it’ll be difficult to sort Services and Prices.

> [@Darren\_Murphy](#):
>
> You should use [Choice Components](https://docs.glideapps.com/all/topics/components/pickers/choice) for these.

Choice components, yes. But my question is how to organize multiple Services and Prices choice. Should I just place for example 3 pairs of Choice components like below or there is a way to add one more Service?

Service 1  
Price 1  
Service 2  
Price 2  
Service 3  
Price 3

---

<div class="post-metadata">

### Author: ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)
#### Post date: [June 25, 2022, 12:24pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/6 "2022-06-25T12:24:49Z")

</div>

> [@Darren\_Murphy](#):
>
> A simple way to approach this would be to create a separate Freelancer Services table

In Glide, this is the best way to create something like this.

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 25, 2022, 12:24pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/7 "2022-06-25T12:24:56Z")

</div>

> [@Garik](#):
>
> Choice components, yes. But my question is how to organize multiple Services and Prices choice. Should I just place for example 3 pairs of Choice components like below or there is a way to add one more Service?

Well, you can enable multiple selections with your Choice components, which will give you a joined list of values, which I guess is basically what you are looking for, ie.

> [@Garik](#):
>
> Cell 1 - Vocal Tuning,Time alignment,Mixing Engineer  
> Cell 2 - $40,$40,$200

The difficulty is going to come later, when you want to match the Services and Prices up, and it could get quite messy. You’ll either have to add a series of extra columns to split the joined lists and them patch them back together. And if the number of possible services that can be associated with a Freelancer is indeterminable, then that becomes essentially impossible to manage. The other approach would be to use a working table to convert the joined lists to arrays and then explode them into multiple rows. But again, either approach would be creating an awful lot of work.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 25, 2022, 1:41pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/8 "2022-06-25T13:41:20Z")

</div>

> [@Darren\_Murphy](#):
>
> Well, you can enable multiple selections with your Choice components, which will give you a joined list of values, which I guess is basically what you are looking for, ie.

May be I can use button with action Add Row to add more Services to Freelancer Services table? Can we do it from Freelancer page without entering Edit profile mode?

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 25, 2022, 2:03pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/9 "2022-06-25T14:03:20Z")

</div>

That’s what I would do, yes.  
You don’t need to be in an edit screen, in fact that would just complicate things.

I assume that you’re using Glide Pages, yes? (not Glide Apps)

I would just have a button component on the Freelancer Profile page. Set the visibility so the button is only available if the user email is the signed-in user.  
Have the button open an add form, target it at the Freelancer Services table, and add two choice components - one for the service, and one for the price. When the user submits, a row will be added.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 25, 2022, 2:56pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/10 "2022-06-25T14:56:09Z")

</div>

It works! Thank you. I show Services in Data Grid. It looks nice.

Now I’m thinking about 2 things:

1. How to limit Freelancer with 10 Services.
2. How to edit and delete Services.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 25, 2022, 3:02pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/11 "2022-06-25T15:02:34Z")

</div>

Oh, and one more. Can we choose Services from list or just type them? How to do this right way?

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 25, 2022, 3:16pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/12 "2022-06-25T15:16:15Z")

</div>

> [@Garik](#):
>
> How to limit Freelancer with 10 Services.

If you have a multiple relation column from your Freelancers table, you can use a rollup column that targets that relation and returns a count of Services per Freelancer. Then you could have an extra visibility condition on your “Add Services” button such that it’s only available if the count is less than or equal to 10.

> [@Garik](#):
>
> How to edit and delete Services.

If you have them in a Data Grid, you can make selected columns editable, but that might not be the best way, especially if they were initially created using values from choice components. It would probably be better to display them as a Collection so that users can navigate to specific records (rows). From there you can enable Edit and Delete.

> [@Garik](#):
>
> Oh, and one more. Can we choose Services from list or just type them? How to do this right way?

Did you look at the documentation for [choice components](https://docs.glideapps.com/all/topics/components/pickers/choice)? It explains it pretty well. The examples show how it’s used in an App, but it’s essentially the same in Pages.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 25, 2022, 4:02pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/13 "2022-06-25T16:02:52Z")

</div>

> [@Darren\_Murphy](#):
>
> If you have a multiple relation column from your Freelancers table, you can use a rollup column that targets that relation and returns a count of Services per Freelancer.

Done! Great.

> [@Darren\_Murphy](#):
>
> It would probably be better to display them as a Collection so that users can navigate to specific records (rows). From there you can enable Edit and Delete.

Yes, Collection is good, but it’s too wide for mobiles. Also I don’t wanna use pics.

> [@Darren\_Murphy](#):
>
> Did you look at the documentation for [choice components](https://docs.glideapps.com/all/topics/components/pickers/choice)?

Yes, I did. I want to type anything in Services or choose one from the list. I found nothing in documentation about that.

Thank you! You really help me 🙂

P.S. And, yes, I use pages. Sorry, forgot to tell you.

---

<div class="post-metadata">

### Author: ![blairrorani](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/blairrorani/32/43426_2.png) [@blairrorani](https://community.glideapps.com/u/blairrorani)
#### Post date: [June 25, 2022, 9:24pm UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/14 "2022-06-25T21:24:37Z")

</div>

To clarify, a freelancer can:

- Choose a service from a list and add their price.
- Enter a service that isn’t in a list and add their price.

What is the purpose of choosing _and_ entering a service?

The reason I ask is, if two freelancers enter (not select) the same service then being able to enter it or select it seems redundant (if we all end up entering the same services they might as well just be available in a list and if we all entered different services then why have them in a standard list?)

If I understand your data structure correctly, this is probably one of the complicating factors and just wondering if it’s necessary for version 1.

A suggestion is, that if a service isn’t available from a list, the freelancer can somehow ask for it to be added. Assuming you are designing for an audience you’re familiar with you can probably get a pretty compete list to start with and anything a freelancer wants to add will be a rare exception.

---

<div class="post-metadata">

### Author: ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)
#### Post date: [June 26, 2022, 12:26am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/15 "2022-06-26T00:26:06Z")

</div>

> [@Garik](#):
>
> I want to type anything in Services or choose one from the list

Yes you can do this. Just have a choice component of available services, and if they want to add a different one, then you can also have an entry component where they can type a different service. Two entry components can point to the same column.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 26, 2022, 4:59am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/16 "2022-06-26T04:59:46Z")

</div>

> [@Jeff\_Hager](#):
>
> Yes you can do this. Just have a choice component of available services, and if they want to add a different one, then you can also have an entry component where they can type a different service. Two entry components can point to the same column.

Thank you, Jeff!

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 26, 2022, 5:25am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/17 "2022-06-26T05:25:09Z")

</div>

> [@blairrorani](#):
>
> A suggestion is, that if a service isn’t available from a list, the freelancer can somehow ask for it to be added. Assuming you are designing for an audience you’re familiar with you can probably get a pretty compete list to start with and anything a freelancer wants to add will be a rare exception.

Yes, you’re right at many points. We will do something like this.

The problem is that the list is quite long. At the moment we have more than 50 options and it will grow.

I’m thinking about component like when you type something it will give you a suggestion. Then you can click this suggestion and use it as a service. That would be easier for freelancers to add their services.

Second way to make choice easier is to divide whole data on the segments and make two choice components: Dropdown and then Cheeps.

Just for an example below is a form from SoundBetter freelance platform. At the left side you can scroll and then drop Speciality to right and choose average price 🙂

 ![Screenshot 2022-06-26 at 11.54.30](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/d/6/d68dc768b23fb2f050f8f00468881d60c310cf4a.jpeg)

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 26, 2022, 6:45am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/18 "2022-06-26T06:45:32Z")

</div>

> [@Garik](#):
>
> Second way to make choice easier is to divide whole data on the segments and make two choice components: Dropdown and then Cheeps.
> 
> Just for an example below is a form from SoundBetter freelance platform. At the left side you can scroll and then drop Speciality to right and choose average price

Yes, you could do this if you divide them into categories and use two choice components with [Screen Values Filtering](https://docs.glideapps.com/all/topics/values/screen-values#in-forms). They would select a category from the first list, and then the second list could be filtered according to the selected category.

---

<div class="post-metadata">

### Author: ![Garik](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/garik/32/44224_2.png) [@Garik](https://community.glideapps.com/u/Garik)
#### Post date: [June 26, 2022, 7:14am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/19 "2022-06-26T07:14:24Z")

</div>

Thanks again Darren!

Can you give me a hint what is the best way to place categories in my table?

Category 1: Item 1, Item 2, Item 3  
Category 2: Item 1, Item 2, Item 3  
…

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [June 26, 2022, 7:30am UTC](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491/20 "2022-06-26T07:30:55Z")

</div>

Do it like this:

![Screen Shot 2022-06-26 at 3.30.23 PM](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/5/0549f5b50dd577e81cdbefd5f6beba460d3f90ec.png)

[Next page](https://community.glideapps.com/t/how-to-make-catalogue-of-freelancers-with-custom-prices-for-their-services/43491.md?page=2)
