===== Member.AddMember ===== Method: member/AddMember Adds a new member without any subscription /// /// /// /// /// /// /// /// /// /// /// /// /// /// 1..20 /// /// /// id of the parent member, leave empty for no link /// M for Male, F for Female, U for unkown, O for others /// memo field Example: https://demo.clubplanner.be/api/member/addmember?token=DEMOTOKEN&firstname=John&lastname=Peterson Result: {"Id":123456817,"OwnerId":1,"OwnerName":"Demo","FullName":"John Peterson","CheckInStatus":"No valid subscription found"} ===== Member.UpdateMember ===== Method: member/UpdateMember Updates an existing member /// /// /// /// /// /// /// /// /// /// /// id of the club /// /// /// /// 1..20 /// /// id of the status /// id of the parent member, set to -1 to clear link, leave empty for no changes /// 0 or 1 /// Example, update the newsletter-flag to FALSE: https://demo.clubplanner.be/api/member/UpdateMember?token=DEMOTOKEN&memberid=1&newsletter=0 Example, update the newsletter-flag to TRUE: https://demo.clubplanner.be/api/member/UpdateMember?token=DEMOTOKEN&memberid=0&newsletter=1 ===== Member.GetMember ===== Method: member/GetMember Get a member via MemberId, put in the ID OR email /// /// /// Examples: https://demo.clubplanner.be/api/member/getmember?token=DEMOTOKEN&id=1 or https://demo.clubplanner.be/api/member/getmember?token=DEMOTOKEN&email=jane.johanson%40mail.com Result: {"Id":1,"UId":"GMOL1","OwnerId":1,"OwnerName":"Demo Brussels","FirstName":"Jane","LastName":"Johanson","CheckInStatus":"20 turns left valid until 7 maart Remainder 60,00 €","CheckInStatusId":"HasRemainderLeft","EmailAddress":"jane.johanson@mail.com","MobileNumber":"04812121340","City":"Bruxelles","Zip":"1000","Address":"Streetroad 1","BirthDate":"14/07/1963","LastVisit":"08/08/2016 17:53","NumberOfVisits":8476,"Password":"0LlHgtVlYrxx3y1ch/lfGFmADSENw1wSK67fxRMQWZjE45FFWta1IrHTIM0oOgr5Q33MbfW7jR7vblHz+uLs","LanguageId":"EN"} ===== Member.DeleteMember ===== Method: member/DeleteMember Deletes a member via MemberId /// /// ===== Member.AddSubscription ===== Method: member/AddSubscription Add a subscription to a given member, use **GetSubscriptions** to get the list of subscription types. The parameter subid defines the subscription type. /// /// /// optional, when not provided it will use home club of member /// /// /// optional /// optional /// optional /// optional /// optional /// optional /// optional /// optional /// optional, empty when no end of auto. extend /// optional /// optional /// optional /// optional, number of visits left in case of turncard /// optional /// optional Note : you can’t have 2 subscriptions active on the same date, in that case the API will return a 400 badrequest. Examples: Example to add subscription: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=1&subid=1&startdate=01/01/2018&reference=mollie_tx_1234534789 Example to add subscription with 1 option: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=1&subid=2&startdate=01/01/2017&option1=1 Example to add subscription with 3 options: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=2&subid=2&startdate=20/12/2017&option1=1&option2=2&option3=3&reference=mollie_tx_1234534789 Example to add subscription with 3 options and overrule option1 amount: https://demo.clubplanner.be/api/member/AddSubscription?token=DEMOTOKEN&memberid=2&subid=2&startdate=20/07/2018&option1=1&option2=2&option3=3&reference=mollie_tx_1234534789&option1_amount=3 ===== Member.PaySubscription===== Adds a payment to given membersubscription, you cannot add an amount > remainder, else you will get a badrequest. /// /// the id of the member subscription /// /// optional, id of the coupon, in this case amount can be set to 0, it will automatically use the coupon until empty /// optional, example: id of the webshop transaction /// optional, the id of the paymethod /// text, can be "vendingmachine" ===== Member.UpdateSubscription===== Update a given membersubscription. /// /// /// optional /// optional /// optional /// optional, auto. end of extend /// optional /// optional decimal /// optional integer with the id of the option to be added /// optional integer with the id of the option to be added /// optional integer with the id of the option to be added /// optional decimal with the amount of option1 /// optional decimal with the amount of option2 /// optional decimal with the amount of option3 /// optional integer, set to 1 to remove all existing options /// optional /// optional ===== Member.DeleteSubscription ===== Removes a given membersubscription. /// /// /// Note : you can only delete unpaid membersubscriptions via the API. ===== Member.GetMemberSubscriptions ===== Returns the subscriptions and options of each subscription of a given member /// /// Get the list of membersubscriptions and options for each subscription for a given member. Note : only items with begindate < today + 30 days will be returned. Example : https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&memberid=1 ===== Member.GetMemberSubscriptions (II) ===== Returns the subscriptions of a given subscription type /// mandatory /// mandatory /// mandatory /// optional /// optional, extra filter on starting from last modified on date /// optional, extra filter on until last modified on date /// optional Get the list of membersubscriptions for a given timespan (filters on startdate membersubscription), owner-id and subscription type id is optional. Examples: https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&fromdate=1-1-2018&todate=1-10-2018 https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&subscriptionid=1&fromdate=1-1-2018&todate=1-10-2018 https://demo.clubplanner.be/api/member/GetMemberSubscriptions?token=DEMOTOKEN&subscriptionid=1&fromdate=1-1-2018&todate=1-10-2018&owner=1 Retun: [{"MemberSubscriptionId":37816,"SubscriptionId":1,"MemberId":57,"Description":"Keepfit 3M","SubscriptionAmount":150.0000,"ProRataAmount":0.0000,"OptionsAmount":0.0000,"Remainder":150.0000,"SubType":"Subscription","StartDate":"01/01/2018","EndDate":"31/03/2018","Note":"","Reference":"mollie_tx_1234534789","OwnerId":1},{"MemberSubscriptionId":37817,"SubscriptionId":1,"MemberId":58,"Description":"Keepfit 3M","SubscriptionAmount":150.0000,"ProRataAmount":0.0000,"OptionsAmount":0.0000,"Remainder":150.0000,"SubType":"Subscription","StartDate":"01/01/2018","EndDate":"31/03/2018","Note":"","Reference":"mollie_tx_1234534789","OwnerId":1},{"MemberSubscriptionId":37818,"SubscriptionId":1,"MemberId":59,"Description":"Keepfit 3M","SubscriptionAmount":150.0000,"ProRataAmount":0.0000,"OptionsAmount":0.0000,"Remainder":150.0000,"SubType":"Subscription","StartDate":"01/01/2018","EndDate":"31/03/2018","Note":"","Reference":"mollie_tx_1234534789","OwnerId":1}] ===== Member.ForgotPassword ===== Send an e-mail as configured in the settings /// /// /// Sends an e-mail to the member with the memberid and password. This email can be configured using an email template. You need to provide memberid or email. Can be used in a forgot password screen on a website . Return Ok when password was sent, or BadRequest when member was not found. ===== Member.GetSubscriptionOptions===== Method: member/GetSubscriptionOptions Get the options for a given subscription. /// /// /// Examples: https://demo.clubplanner.be/api/member/GetSubscriptionOptions?token=DEMOTOKEN&subid=1&ownerid=1 https://demo.clubplanner.be/api/member/GetSubscriptionOptions?token=DEMOTOKEN&subid=2&ownerid=1 ===== Member.GetStatusses===== Get a list of all configured statustypes. /// Example: https://demo.clubplanner.be/api/member/GetStatusses?token=DEMOTOKEN ===== Member.UpdateStatus===== Update the status of a member. /// /// /// /// ===== Member.UpdateBlocked===== Update blocking of a member. /// /// /// 0 or 1 /// optionaly you can provide a text shown to both member and employee /// ===== Member.GetSubscriptions===== Get the configured subscriptiontypes of a given club /// /// optional Note: when owner is used the API will only return the subscriptions that can be sold in that club. Examples: https://demo.clubplanner.be/api/member/getsubscriptions?token=DEMOTOKEN&owner=1 https://demo.clubplanner.be/api/member/getsubscriptions?token=DEMOTOKEN ===== Member.SubstractCredit===== Substract credit from a member for a given id or uid or email, returns BadRequest when not enough credit. Is used in vending machines. /// /// amount /// Member Id /// Email Address /// unique card ID /// Example: Icemachine Example: https://demo.clubplanner.be/api/member/substractcredit?token=DEMOTOKEN&id=1&credit=1&from=mymilkshakemachine You can also use UID (could barcode or mifare UID): https://demo.clubplanner.be/api/member/substractcredit?token=DEMOTOKEN&uid=A1B2C3D4&credit=1&from=mymilkshakemachine ===== Member.AddCredit===== Add credit of a member for a given id or uid or email, returns BadRequest when credit = 0. /// /// amount /// Member Id /// optional, Paymethod Id /// Email Address /// unique card ID /// optional, note /// Example: Icemachine Example: https://demo.clubplanner.be/api/member/AddCredit?token=DEMOTOKEN&id=5&credit=5&from=bankterminal1 You can also use UID (could barcode or mifare UID): https://demo.clubplanner.be/api/member/AddCredit?token=DEMOTOKEN&uid=A1B2C3D4&credit=5&from=bankterminal1 ===== Member.GetCountvisits===== Get the number of unique checkin's, can be used for realtime visit tracking on websites. /// /// /// /// Example: https://demo.clubplanner.be/api/member/getcountvisits?token=DEMOTOKEN&fromdate=13-01-2018%2013:42 ===== Member.GetCountvisits===== Get the number of unique checkin's, taken checkout's into account, can be used for realtime visit tracking on websites. /// /// Example: https://demo.clubplanner.be/api/member/getcountvisits?token=DEMOTOKEN&owner=1 ===== Member.GetOptions===== get the list of all options /// Example: https://demo.clubplanner.be/api/Member/GetOptions?token=DEMOTOKEN Result: [{"Id":1,"Description":"Douche-Shower"},{"Id":2,"Description":"Yanga Drinks"},{"Id":3,"Description":"App"},{"Id":4,"Description":"Courses"}] ===== Member.GetVisits===== Returns the checkin's /// /// /// leave empty for no to date /// leave empty for all clubs /// leave empty when no filter on memberid Examples: https://demo.clubplanner.be/api/member/getvisits?token=DEMOTOKEN&fromdate=1-01-2017&todate=10-01-2017 https://demo.clubplanner.be/api/member/getvisits?token=DEMOTOKEN&fromdate=1-01-2017 https://demo.clubplanner.be/api/member/getvisits?token=DEMOTOKEN&fromdate=1-01-2017&owner=1 Result: [{"Id":189381,"MemberId":2,"OwnerId":2,"CheckInStatus":"Abonnement nog 362 dagen geldig tot 31 december.","CheckInStatusId":0,"CheckInDate":"03/01/2017 09:14:04","CheckOutDate":null,"CheckInPointName":"Tourniquet","CheckInPointId":"1","Subscription":"Fitness 12M"},{"Id":189382,"MemberId":2,"OwnerId":2,"CheckInStatus":"Abonnement nog 362 dagen geldig tot 31 december.","CheckInStatusId":0,"CheckInDate":"03/01/2017 16:44:19","CheckOutDate":null,"CheckInPointName":"Tourniquet","CheckInPointId":"1","Subscription":"Fitness 12M"},{"Id":189383,"MemberId":2,"OwnerId":2,"CheckInStatus":"Abonnement nog 361 dagen geldig tot 31 december.","CheckInStatusId":0,"CheckInDate":"04/01/2017 13:37:11","CheckOutDate":null,"CheckInPointName":"Tourniquet","CheckInPointId":"1","Subscription":"Fitness 12M"}] ===== Member.GetMembers===== Return list of member /// /// Note: there is maximum of 1000 members that can be retrieved per call Examples: https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=member_id%3E0%20and%20member_id%3C10 https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=created_on>%272018/04/01%27 https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=created_on>%272018/04/01%27%20and%20newsletter=1 https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=created_on>%272018/04/01%27%20and%20newsletter=1 Filter on NAME (LIKE filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=name%20like%20%27%verstr%%27 Filter on FIRSTNAME (LIKE filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=firstname%20like%20%27%jan%%27 Filter on EMAIL (LIKE filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=email_address%20like%20%27%gmail%%27 Filter op LAST MODIFIED (> Filter) https://demo.clubplanner.be/api/Member/GetMembers?token=DEMOTOKEN&filter=last_modified%3E%272022/12/10%27%20 Result: [{"Id":2,"UId":"CD360159","OwnerId":1,"OwnerName":null,"FirstName":"Bjorn","LastName":"Bjorn","CheckInStatus":null,"CheckInMultiMessage":null,"CheckInStatusId":null,"EmailAddress":"kristofcoolsaet@hotmail.com","MobileNumber":"0473943498","City":null,"Zip":null,"Address":null,"BirthDate":"14/01/1971","LastVisit":"05/03/2018 20:07","NumberOfVisits":98,"Password":null,"LanguageId":null,"StatusId":0,"Points":0,"CurrentSubscription":null,"Credit":0.0,"CreatedOn":null,"Guid":null}] ===== Member.GetSubscriptionGroups===== get the list of all subscription groups /// Example: https://demo.clubplanner.be/api/Member/GetSubscriptionGroups?token=DEMOTOKEN ===== Member.SendSMS===== Sends an SMS to a given member /// /// ID of member /// content of SMS /// optional mobile nbr to use /// Examples: https://demo.clubplanner.be/api/member/SendSMS?token=DEMOTOKEN&memberid=1&message=ABCDEF https://demo.clubplanner.be/api/member/SendSMS?token=DEMOTOKEN&memberid=1&mobilenbr=123&message=ABCDEF ===== Member.SendEmail===== Sends an Email to a given member, note: this is using HTTP post! When address is left empty it will use the email address of the given member. { "token": "DEMOTOKEN", "memberid": "0", "message": "My Email subject", "subject": "My email body", "from": "website", "address": "info@clubplanner.be" } Example: https://demo.clubplanner.be/api/member/SendEmail ===== Member.VerifyPassword===== Check's the password of the given member /// /// optional: memberid /// optional: e-Mail instead of memberid /// password to be checked /// Examples: https://demo.clubplanner.be/api/member/VerifyPassword?token=DEMOTOKEN&memberid=1&password=demo When password matches it will return HTTP OK, else Badrequest. ===== Member.GetContract (GET) ===== Get the HTML of the contract for a given member subscription. If no contract has been configured on the subscription type a badrequest is returned. /// /// id of membersubscription /// Examples: https://demo.clubplanner.be/api/member/GetContract?token=DEMOTOKEN&id=72580 Returns: { public int subscriptionid public int memberid public string contract } ===== Member.UploadContract (POST) ===== Uploads a signed contract (pdf) and stores in the given membersubscription. If no contract has been configured on the subscription type a badrequest is returned. An error is returned when the pdf is empty or the memberid is not the owner of the membersubscription. /// /// id of membersubscription /// id of the member /// byte array of the pdf /// Returns: { public int subscriptionid public int memberid public int contractid } ===== Member.ValidateEmailAddress ===== Set this email address as a validated email address, this action is logged. Calling updatemember with a new email address will remove the validated timestamp for this field. /// /// id of the member /// returns: { public string Message public bool Failed } ===== Member.ValidateMobileNumber===== Set the given mobile number as a validated mobile number, this action is logged Calling updatemember with a new email address will remove the validated timestamp for this field. /// /// id of the member /// returns: { public string Message public bool Failed } ===== Member.GetContractState===== Returns all the details of given contract /// /// id of the contract ===== Member.GetContractFile===== Returns the signed pdf contract of a given contract /// /// id of the contract